前からやらなくちゃと思っていたけれどもやっていなかったサイトのSSL化。自分はいろいろとわかった上でやってるからいいけど、嫁にはSSLで管理させようと思い導入。
ぐぐったらここがわかりやすそうだったので参考に。
Apache/SSL(http)対応にする(Debian Etch編) - 俺の基地 はまったところ and 疑問点(まだ未解決) 生成された証明書がdemoCA/cacert.crtではなくてdemoCA/cacert.pemなんだけどこれでいいのか?
apacheを起動すると"Address already in use: make_sock: could not bind to address [::]:443"というエラーが。443はだれもつかんでないはずだし・・・おかしい。
一度443ではなくて4443番ポートに変えてみたら確かに443が使われていた
一度sites-enableから今回追加した設定を抜いてみたら、それでもまだ443が使われていた。どうやら以前設定したごみがある模様・・・。
検索したところ/etc/apache2/ports.confに記述があった。これは何者だ?
AquBlog: DebianでApache2 − ポート設定
うーん。Listen 80と書いてあっても80番はバッティングしていないし書かれているのが正しいのだろうと思う。でも、たしかにバッティングしちゃうし、ports.confからListen443を消せば443での待ちうけは無くなる・・・。どういうことだ?
Listenの書き方とipv4, v6のあたりで色々と問題がある模様。とりあえずポートの待ちうけはできるようになったけど、結局動かない。
問題の切り分けの必要あり・・・。(T-T
なんだか色々おかしいので、もう一度Webを検索。今度は以下を参考に
試験管のなかのコード :: Debian Etch で Apache2.2 + SSL
crt等は作れたと思うのだけれども、やはり443が使われているというエラーがでる。
とりあえずports.conf側でListen443をコメントアウトして先に進める
ローカルでの確認作業時に以下のエラーが出てしまう。
/etc/apache2# openssl s_client -connect localhost:https
CONNECTED(00000003)
8585:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:583:
どうやら443番ポートでHTTPが動いてしまっていた模様。 Virtual Hostタグの部分をIpアドレス:443に変更したらうまくいった。 一応動いたけど、firefoxでは接続できない。これは仕様かな。IEなら警告は出るけど接続できるし
IE6はHTTPS時に証明書の種類のチェックしない? (やまかわのログ) これかな?とも思うけど、きちんとopenssl.cnfのnsCertTypeはserverになってます・・・。 日記/2006 - りょうのぺえじ ここに書かれているように n s C e r t T y p e = s e r v e r , c l i e n t という設定も試してみましたが、残念。結果変わらず。
...