Title: TeamPage5 Free を HTTPS で使用するには

TeamPage5 Free のライセンスでは TLS/SSL 暗号化通信 (HTTPS) を利用できません。しかし、別途 Apache を HTTPS リバース プロキシ サーバーとして稼働させることで、TeamPage を HTTPS で利用できます。

ここでは同じコンピュータに Apache と TeamPage の両方をインストールして設定する例を紹介しますが、別々のコンピューターにインストールしてネットワーク接続することも可能です。



イメージ図



下図は、ユーザーが利用するコンピュータ(クライアント コンピュータ)、Apache によるプロキシサーバー、TeamPage サーバーの接続例です。

Apache は HTTPS で稼働しているので、クライアント コンピュータと Apache との間の通信は暗号化されます。Apache と TeamPage の間は暗号化されない HTTP 通信になります。

Apacheをフロントエンドに設置

使用環境



ここでは、Windows Server 2022 環境で次のバージョンを使用します。



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 を選択しました。

Download Apache

インストール



ダウンロードした 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 を作成し、次の内容を記述してください。



[ 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 リバース プロキシ サーバーを使用する



Attachments:
img01.png
img02.png
img03.png
img04.png
img05.png
img06.png
img07.png
img09.png
img10.png
img11.png
img12.png
img13.png
img14.png
img15.png
img16.png
img17.png
img18.png
apache_image.jpg
関連記事
Article: FAQ309 (permalink)
Categories: :FAQ:HTTPS, :DocJp:FAQ, :FAQ:セキュリティ, :FAQ:暗号化, :FAQ:Apache, :FAQ:Proxy, :FAQ:プロキシ, :FAQ:運用保守
Date: 2010/01/12; 17時14分35秒 JST

Author Name: TeamPage サポート
Author ID: jpbo