ssl利用する必要があったのでいろいろ設定
opensslのインストール
$ apt-get install openssl
秘密鍵の生成(トリプルDESで1024bitの鍵)
$ openssl genrsa -des3 1024 > server.key
CSRファイルの作成(server.keyの秘密鍵を利用する)
$ openssl req -new -key server.key > server.csr
自己証明書の作成(有効期限を365日,server.csrを利用して,server.keyで署名)
$ openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt
あとはapacheの設定.
まず,sslを有効にする.モジュールのロードと基本的な設定は/etc/apache2/mods-available/ssl.{load,conf}で行われている.
$ a2enmod ssl
次に,ssl用のVirtualHostを作成する.HTTPの方が以下のようになっているとして
$ cat /etc/apache2/sites-available/default NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName server.domain:80 ... </VirtualHost>
HTTPSの方は以下のようにする.server.crtとserver.keyは先程作成したものを利用する.
$ cat /etc/apache2/sites-available/ssl NameVirtualHost *:443 <VirtualHost *:443> SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key ServerAdmin webmaster@localhost ServerName server.domain:443 SSLEngine on ... </VirtualHost>
最後にこのサイトを有効にして,再起動
$ a2ensite ssl $ /etc/init.d/apache2 restart
これで
https://server.domain/
にHTTPSでアクセスすることができるようになる.
特に難しいところはないはずだったのだが,変なところではまってしまった.SSL周りの設定かVirtualHostの設定がおかしい場合は,"Invalid method in request \x16\x03"のようなエラーがログに出力される.
参考