Let's Encrypt IIS(win-acme)で別のポートを使って認証を通す方法

自前でホスティングするとき、win-acmeでLet's Encryptの証明書を作成して登録しますが、 何らかの理由で80番ポートが使えない場合に、別のポートを使ってvalidationを通す 方法です。

目次

win-acmeの画面
win-acmeの画面

問題

Windows IISで無料のLet's Encrypt証明書を適用するには、 win-acmeプロジェクトを使うのがいちばん手軽な方法です。

通常は何の問題もなく動きますが、やむを得ず80番ポートがふさがっている場合などは、証明書の検証が 失敗し続けます。1時間に5回失敗すると検証が1時間ブロックされるので、あれこれ変えながら何度も 試すのも簡単ではありません。

解決

ドキュメントを見つけるのが難しいのですが、https://www.win-acme.com/reference/plugins/validation/tls-alpn/selfhosting に--validationportを使えば別のポートで検証できると書かれています。実際に使うには コマンドラインを直接入力する必要があります。

次のように入力すると、そのサイトのドメイン名すべての証明書を一度に作成できます。

wacs.exe --source iis --siteid <サイトID> --validationport <サイトポート> --installation iis
win-acmeに表示されるサイトIDの一覧
サイトID
  • cmdを管理者モードで実行する必要があります。
  • サイトID: win-acmeを実行してN: Create certificateを選ぶと、IISで証明書を作成できるサイトの一覧が表示され、その先頭にIDがあります。 サイトIDだけ確認したらwin-acmeを閉じ、コマンドラインで上のコマンドを実行します。
  • サイトポート: 実際にサイトが動いているポートを入力します。例) 3000, 8080, ...
2026 © snc studio·プライバシーポリシー