一回折れた人

日々の出来事をつらつらと

スマートじゃないSSL対応

先日LINE BOTのトライアル版が解禁されたので、早速申し込んでトライアルのアカウントを取得しました。 BOTの返事などに使うCallback URLがセキュアな通信しか受け付けないようなので、nginxでhttps通信、SSLの設定をしているのですが、苦戦しています。

現在の状況としては、静的なファイルであればhttps通信できるところまでは設定しました。 ネットで検索するともう実装している方も多くすごいなーと思うばかりですが、なかなか失敗した例はないので、何でつまづいたか書いてみたいと思います。 ※LINE BOTの実装の話ではなく、それ以前のnginxのSSL通信の話です。

つまづきポイント1 nginxのSSL通信が「TLS SNI support enabled」になってくれない。 A:nginxのリポジトリの入手先がcentos5から持ってきていた。

nginxのSSL通信の設定自体は検索すればすぐ出てきます。 ですがいくらその設定を書いても「tls sni support disabled」の表示が変わりません。 散々悩んだ後にnginxのリポジトリの設定を見ると、入手先がcentos5になっていたので、6に変更しました。

baseurl=http://nginx.org/packages/centos/5/$basearch/ #5だとSSL通信に対応していない?
↓
baseurl=http://nginx.org/packages/centos/6/$basearch/

コピペで済ました報いですね。

つまづきポイント2 iptablesの更新 A:iptablesを更新したつもりだったけど、更新されていなかった。 つまづきポイント1でかなり時間を使ってしまいましたが、ようやくhttpsでも繋がると思い、画面をリロードしましたが、まだ繋がらない。 オレオレ証明書でしたが、証明書自体は問題なさそうなので、何が悪いのか検討もつきませんでしたが、半ばヤケクソでiptablesの設定を見ると443ポートが通っていませんでした。 更新したと思っていましたが、おそらく書き足して保存せずに再起動させたみたいです・・・。

これからつまづくポイント ・動的ファイル(.php)がhttps経由だと「File not found.」になる →これは数時間で解決できそう

オレオレ証明書だとLINE BOTと通信できない? →ネットの情報だと、無料の証明書だと通信できないようです。  無料の証明書よりも信頼がないオレオレでいけるのだろうか・・・。

追記 このブログ自体もhttpsにしようと思い、nginxの設定を変えてみましたが、画像関係が表示されませんでした。