IIS 7でLetsEncryptの設定

LetsEncryptは無料証明書の発行でhttpsの拡散に貢献した団体であります。1

特に、Certbotという強力なツールにより、Linux系ではApacheを使おうが、Nginxを使おうが、関係なくコマンド数行で証明書がもらえる時代になりました。

ですが、Windowsでは公式的にLetsEncryptの証明書をインストールする方法が提供されません。なのに、ソース公開も十分できているので、誰でもLetsEncryptの認証サーバーに接続して、証明書がもらえます。

だったら、自分で通信すればいいのでは?

というわけには恐れ入りますが、LetsEncryptの証明書の期限が90日以内で大変短いので、自動実行で更新されなかったら問題になりがちです。ツールの使用は避けられませんね。

そういうツールには何があるんでしょうか。

Certify The Web

https://certifytheweb.com/

現在は3.0.11 Stableバージョンと4.0 Alphaバージョンに分けられています。Alpha4の問題により、Alpha3を再公開したらしいです。

インストールは素早く進められます。

メインはこうなっています。

すぐにNew Certificateのボタンを押して、新しい証明書をもらってみましょう。
ちなみに、正式バージョンではない場合、常用はやめてほしいという警告が何回か出ます。

 

LetsEncrypt側に伝えたい自分のメールアドレスを書きます。

期限切れの到来など証明書の特異事項のお知らせが届きます。
この機能はLinuxのcertbotとまったく同じですね。

 

現在IISでサービスしているサイトを選びます。複数のサイトに使いたければ、複数選択も可能であり、サイトを選ばずに、発行のみも可能です。
Request Certificateボタンを押すと、証明書の発行は完了です。Settingsに入って、更新日程も正しいか確認する必要があります。

こうすると、IISのSSL証明書にLetsEncryptが入れられたことが分かり、今後もすぐに変更ができます。

HTTPS通信だけではなく、リモート配布機能とFTP SSLなど証明書が必要な個所に幅広く活用もできます。

限界

無料バージョンは5個のサイトまで管理ができます。プロライセンスでは3個の追加が50ドル、エンタープライズライセンスでは100個の追加が349ドルです。複数購買もできるので、多数のサイトには購入が必須です。

トラブルシューティング

  • テストボタンを押したとき、失敗する可能性もあります。外部接続確認の時、DNS確認が正しくない場合があります。インターネットのコネクションに問題がなく、サイトのバインドも設定されて2、ファイアウォールも遮ることなかったら、Request Certificateを押してみても問題はないはずです。
  • その他CloudflareなどのDNSサービスを使用中なら、API Keyを入れておいて、このアプリでDNS-01方式でチェックするようにできます。こうすれば、サーバーのファイルにテンポラリファイルの生成なしに、早く問題の余地なくドメインの持ち主の確認ができます。ワイルドカード証明書(4バージョン以降)にはDNSが必要な場合があります。

Footnotes

  1. もちろん、CloudflareのUniversal SNI 証明書がより簡単で気にするところが少ないのは事実です。しかし、Cloudflareの中継サーバーと私のサーバーの間はPure HTTPなので、まったく暗号化できていない問題があり、それを解決するにはDedicated Certification以上の有料サービスが必要で、お金がかかります。
  2. HTTP 80ポートで十分です。

IIS 7でLetsEncryptの設定” への2件のフィードバック

  1. 포트가 막혀있는거같은데.. 80,8080,443,8443 다열었는데도
    안됩니다.
    403 에러, 404 에러납니다.

    DNS 설정을 어떻게 해야하나요?
    서브도메인에 발급하려는겁니다.
    test.com 아닌
    test.child.com 입니다.

コメントを残す

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