つまずきがちなSSL対応

サイトをSSL化するのはいいけど、開発環境をSSL対応するのに結構、手間を食う。
というか、つまずくポイントが多い気がする。
最初、全然分からないから調べまくって、情報つなぎ合わせて理解しようとするけど、いろんな情報があるから泣きそうになった。(笑)

<自分的につまずいたポイント>
(一応、CentOS6 + Apache + バーチャルホスト使う)

(1) iptables

-A INPUT -p tcp --dport 443 -j ACCEPT

INPUTの許可としてはこれだけで良いと思うけど・・(OUTPUTは全部許可してる)
個人的には、これでポートスキャンして443が開いてなくてあたふたしたのだけど、実はそれは httpd.conf の記述ミスだったという・・(汗;

(2) httpd.conf

Listen 443

上記の個人的ミスは、Listen 443 を書いてなかったこと。Listen 80 だけしか書いてなかったのでこれも書くこと。

LoadModule ssl_module modules/mod_ssl.so

Include conf.d/vhosts.conf

モジュール組み込んでなかったらダメよね。
あと、バーチャルホストの .conf を別に書いてたらそれもね。

NameVirtualHost *:443

これもね。80だけじゃなくて443のも書く。httpd.conf はバラバラといろんな場所に書くとこある。

(3) vhosts.conf
バーチャルホストの .conf
別にファイル名は何でもいいけど、僕はこれにして conf.d の下に入れた。

<VirtualHost *:443>
  ・・・・・ (他の記述) ・・・・・
  SSLEngine on
  SSLCertificateFile /etc/httpd/conf/ssl.crt/sitename.crt
  SSLCertificateKeyFile /etc/httpd/conf/ssl.key/sitename.key
  ・・・・・ (他の記述) ・・・・・
</VirtualHost>

VirtualHost *:443 の記述と、中に証明書とキーのファイルパスを書くこと。

設定関係としてはこんなところか・・・

で、で、で、SSL証明書を準備するあたりが、最初ほんとに分からなくて、なんのこっちゃーって思ってたわけだけど、いわゆる「オレオレ証明書」というやつの作り方を調べて、ようやく出来たという次第。

とりあえず、この方の記事↓↓↓が新し目でスッキリとまとまっているもよう・・・
http://www.server-memo.net/server-setting/apache/apache-mod_ssl-sha2.html
ありがたし!

ちなみに、Chromeでアクセスして無理やり見ても、保持してくれないから(?)ページを見るたびに無理やり見ないといけない(笑)のが面倒くさい。
ゆえに僕は、Safariで1回無理やり見ると、キーチェーン(だったっけ?)に保存するか聞いてくるからそこで保存すると、とりあえず第三者認証されてない証明書として理解されるから、あとは普通にページを見て行ける。なのでSSLページをチェックするときはSafariで見てる。

ざっと書いたら以上だけど、ここまで出来るようになるのは結構、時間かかった。今、達成感みなぎりながらコーヒー飲んでる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です