Title: TeamPage5 Free を HTTPS で使用するには
TeamPage5 Free のライセンスでは TLS/SSL 暗号化通信 (HTTPS) を利用できません。しかし、別途 Apache を HTTPS リバース プロキシ サーバーとして稼働させることで、TeamPage を HTTPS で利用できます。
ここでは同じコンピュータに Apache と TeamPage の両方をインストールして設定する例を紹介しますが、別々のコンピューターにインストールしてネットワーク接続することも可能です。
イメージ図
下図は、ユーザーが利用するコンピュータ(クライアント コンピュータ)、Apache によるプロキシサーバー、TeamPage サーバーの接続例です。
Apache は HTTPS で稼働しているので、クライアント コンピュータと Apache との間の通信は暗号化されます。Apache と TeamPage の間は暗号化されない HTTP 通信になります。

使用環境
ここでは、Windows Server 2022 環境で次のバージョンを使用します。
- OpenSSL = バージョン 3.4.1 Light
- Apache HTTP Server = バージョン 2.4.33 Win64
- TeamPage Server = バージョン 7.0.13
TeamPage を運用するコンピューターの名前は「winvm.local」です。
OpenSSL と Apache を同じ「winvm.local」にインストールします。
TeamPage は 8080 番ポート、Apache は 80 番ポートと 443 番ポートを使用することとします。
OpenSSL インストール
ダウンロード
OpenSSL のダウンロードページ から OpenSSL のインストーラーをダウンロードし、インストールします。
ここでは Win64 OpenSSL v3.4.1 Light を選択し、インストールしました。

パスの設定
OpenSSL をインストールしただけでは、インストール先フォルダにパスが通っていないため、openssl.exe を実行するにはフルパスでの指定が必要です。これでは面倒なので、次の手順でパスの設定を変更します。
Windows のスタートメニューの「ファイル名を指定して実行」に「SystemPropertiesAdvanced」と入力し、「システムのプロパティ」を開き、「環境変数」をクリックします。

「Path」の項目をダブルクリックして「環境変数名の編集」ダイアログを開き、「新規」をクリックして OpenSSL がインストールされたフォルダのサブフォルダ「bin」を指定します。(デフォルトで C:\Program Files\OpenSSL-Win64\bin です。)

設定ダイアログの「OK」をクリックしてすべて閉じます。
これで OpenSSL の実行ファイルへのパスが通りました。
Apache インストール
ダウンロード
https://www.apachelounge.com/download/ から Windows 版 Apache をダウンロードします。
今回は 64bit 版 Windows 用の 2.4.63 を選択しました。

インストール
ダウンロードした httpd-2.4.63-250207-win64-VS17.zip を展開し、中にある「Apache24」フォルダを適当なフォルダに設置します。
ここでは C: ドライブのルート フォルダに設置しました。(C:\Apache24 フォルダになります)

基本設定
conf フォルダの中にある httpd.conf をテキストエディタで編集します。
サーバー名
次の行のコメントアウトを解除(行頭のシャープ記号を削除)し、サーバー名を設定します。(ここでは「winvm.local」と名付けました。)
ServerName winvm.local
モジュール
次の行のコメントアウトを解除してモジュールを有効化します。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule ssl_module modules/mod_ssl.so
起動テスト
管理者モードのコマンドプロンプトを起動し、「C:\Apache24\bin」に移動し、「httpd」と入力して Enter キーを押すと Apache サーバーが起動します。画面は、下図のように「httpd」で止まったような状態になりますが、Apache は動作し続けています。(終了するには Ctrl + C キーを押します)

ブラウザーで http://winvm.local/ にアクセスします。この段階では HTTPS の設定は行われていませんので、HTTP でアクセスします。
下図のように「It works!」が表示されれば成功です。これは Apache の初期画面で、Apache が動作していることを意味しています。

秘密鍵などの作成・設置
HTTPS に必要な秘密鍵などを作成します。
秘密鍵などのファイルはどこに設置しても構いませんが、ここでは C:\Apache24\conf\ssl にします。
管理者モードでコマンドプロンプトを起動し、C:\Apache24\conf に移動し、サブフォルダ「ssl」を作成し、そのサブフォルダに移動します。
秘密鍵を作成 (server.key)
openssl genrsa -out server.key 2048
設定ファイルを作成 (san.cnf)
OpenSSL はデフォルトで SAN を使わないため、SAN を指定する設定ファイルを作ります。
san.cnf を作成し、次の内容を記述してください。
- C = JP (2文字国名)
- ST = Tokyo (都道府県)
- L = Chiyoda (市区)
- O = My Company (会社名・組織名)
- CN = winvm.local (サーバー名)
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
prompt = no
[ req_distinguished_name ]
C = JP
ST = Tokyo
L = Chiyoda
O = My Company
CN = winvm.local
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = winvm.local
CSR(Certificate Signing Request)を作成 (server.csr)
openssl req -new -key server.key -out server.csr -config san.cnf
自己署名証明書を生成 (server.crt)
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt -extensions req_ext -extfile san.cnf
確認
C:\Apache24\conf\ssl に server.key, server.csr, server.crt が作成されたことを確認します。
PS C:\Apache24\conf\ssl> dir
ディレクトリ: C:\Apache24\conf\ssl
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2025/03/26 16:42 291 san.cnf
-a---- 2025/03/26 16:44 1150 server.crt
-a---- 2025/03/26 16:43 910 server.csr
-a---- 2025/03/26 16:42 1732 server.key
Apache HTTPSおよびプロキシの設定
httpd.conf の編集
httpd.conf の最後に次の内容を追記します。
Listen 443
<VirtualHost *:443>
ServerName winvm.local
SSLEngine on
SSLCertificateFile "c:/Apache24/conf/ssl/server.crt"
SSLCertificateKeyFile "c:/Apache24/conf/ssl/server.key"
ProxyRequests Off
ProxyErrorOverride On
ErrorDocument 503 /error/503.html
ProxyPass /error/ !
ProxyPass /ws ws://localhost:8080/ws
ProxyPassReverse /ws ws://localhost:8080/ws
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
<VirtualHost *:80>
ServerName winvm.local
Redirect permanent / https://winvm.local/
</VirtualHost>
Apache を再起動します。
動作テスト
ブラウザーで winvm.local/ にアクセスします。
この段階では、ブラウザーは HTTPS に使われている証明書を信頼していませんので、下図のようなセキュリティ警告が表示されます。(下図は Microsoft Edge です)
「詳細を表示」をクリックし、「winvm.local に進む(安全ではありません)」をクリックします。

TeamPage の画面が表示されることを確認します。

クライアント側で証明書をインストール
ブラウザーのセキュリティ警告を回避するには、ユーザーにサーバー証明書(server.crt)を配布し、Windowsにインストールしてもらいます。
ここからは各ユーザー側の操作になります。
管理者から配布された server.crt をダブルクリックします。

「証明書のインストール」をクリックします。

証明書のインポート ウィザードが開始されます。
「保存場所」で「ローカルコンピューター」を選択して、「次へ」をクリックします。

「証明書をすべて次のストアに配置する」を選択し、「参照」ボタンから「信頼されたルート証明機関」を選択し、「次へ」をクリックします。

信頼されたルート証明機関にインストールされたことを確認し、「完了」をクリックします。

確認ダイアログが表示されるので、「はい」を選択します。

サーバー署名書のインポートが完了しました。

ブラウザーを再起動して https://winvm.local/ に再アクセスし、セキュリティ警告が表示されないことを確認します。

関連記事
FAQ2774: TeamPage のフロントエンドに Apache リバース プロキシ サーバーを使用する