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

問題
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

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