2018年4月16日

Let’s Encrypt最後の壁「443ポートを開放」

無料のSSLとして定着し、多くのレンタルサーバーでも導入されている「Let’s Encrypt」。とはいえ既存のサイトや古くから動かしているサーバー環境においては手動で「Let’s Encrypt」をインストールして使用することもしばしば。普段はコマンドを打ったりしない自分ですが、重い腰を上げてドキュメントや多くの先人の知恵を借り、インストールを進めてみる事に。

git で clone して Let’s Encrypt のクライアントcertbotをインストール、諸々進めて各種証明書と秘密鍵ファイルを確認、httpd.confのNameVirtualHost等も編集、再起動すれば完了のはず。。。と思いきや。httpsでアクセスしても、サイトが表示されません。

ポートを確認していなかった

普段サーバーの設定に直接関わる事はなく、あまり意識いていなかった事に気付くのに2時間ほどかかりました。蛇口を開けないと水は出ません。443ポートが開いていなかったため、httpsでアクセスしてもサイトが表示されなかったのです。これが原因かも、と思った方がいれば、まずGoogleで「443ポート 開放 確認」等で検索してみましょう。IPアドレスを入力する事でポートが開放されているかどうか確認できるサービスが色々ありますので、確認してみて「443ポートが開放されていない」事がわかれば、ポートを開放してあげましょう。

iptablesでSSL通信のための443ポートを開放

慣れているSEなら「何をいまさら」という感じなのでしょう。「/etc/sysconfig/iptables」を編集、以下のような内容を追記する事で、SSL通信のための443ポートを開放、httpsでアクセスできるようになります。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

知っている人はすぐわかるだろうけど知らないとハマってしまう、Let’s Encrypt最後の壁「443ポートの開放」についてでした。

, , ,

コメントを残す

メールアドレスが公開されることはありません。