WindowsバイナリでHTTPSを設定するメモ。 検証環境: Windows 7 Professional SP1 32bit 日本語版 Apache/2.0.64 + mod_ssl, openssl 元ネタ: - Windows に Apache2 SSL をインストール -- http://www.gadgety.net/shin/tips/win/apache2.html 1.OpenSSLに対応したWindows用のApache HTTPDサーバーのバイナリを入手。 最近ではApache HTTPDの本家サイトからmod_ssl + openssl 付きのWin32バイナリを入手できますので、それを使う。 あとは適宜インストールする。 2.証明書作成 詳しい解説は上記元ネタ、或いは適宜Webで検索。 openssl.exe : (Apache)\bin\openssl.exe openssl.cnf : (Apache)\conf\openssl.cnf Vista, Win7での注意点:以下のコマンドライン操作は、管理者として実行したコマンドプロンプト上で行う。 > cd ...(Apache) > bin\openssl req -config conf\openssl.cnf -new -out localhost.csr ... > bin\openssl rsa -in privkey.pem -out localhost.key ... > bin\openssl x509 -in localhost.csr -out localhost.crt -req -signkey localhost.key -days 3650 以下のファイルが生成されているので、"conf\ssl" フォルダなどにまとめておく。 privkey.pem localhost.csr localhost.crt localhost.key もしVista, Win7上で「管理者として実行」ではない通常のコマンドプロンプト上で操作した場合は、次のフォルダ以下に生成される。 C:\Users\(ユーザー名)\AppData\Local\VirtualStore\Program Files\... 適宜削除してやり直すなり、そのまま本来のフォルダに移すなりする。 3.Apacheの設定 mod_ssl.soをLoadModuleする。 LoadModule ssl_module modules/mod_ssl.so SSLCertificateFileとSSLCertificateKeyFileに適宜設定する。 SSLCertificateFile conf/ssl/localhost.crt SSLCertificateKeyFile conf/ssl/localhost.key あとは適当にhttpd.confやコマンドラインオプションを調整して動くようにすればOK。 ""とかでssl.confをまるごと囲ってる場合などは "-D SSL" をコマンドラインに混ぜておく。""を外してしまえば "-D SSL" は不要。 Apacheも2.0と2.2系列とでは設定ファイルの構成が変わってきているので、その辺りの匙加減は適宜調整。