環境
Windows 11 Home 25H2
そこそこなデスクトップPC
良さげなルーター
適当に取ったドメイン(DNSでAレコード設定済み)
ルーター側の設定
サーバーにするPCのIPアドレスは固定にしておきましょう。
443(80)のポート開放を行いましょう。(各社UIが違うのでいい感じで)
Windowsのファイアウォールの設定
Windowsファイアウォールで443(80)を許可。
PowerShellの例を下記に示します。
# HTTP (80) を許可
netsh advfirewall firewall add rule name="HTTP Inbound" dir=in action=allow protocol=TCP localport=80
# HTTPS (443) を許可
netsh advfirewall firewall add rule name="HTTPS Inbound" dir=in action=allow protocol=TCP localp
ISS(インターネットインフォメーションサービス)の有効化
コントロールパネル → プログラムと機能 → 『Windows の機能の有効化または無効化』 → 「Internet Information Services」にチェック → OK



IISの設定
ISSマネージャーを起動

コンピューター名を右クリック「Webサイトの追加」

サイト名: 適当でOK
物理パス: index.htmlがあるディレクトリを選択
ホスト名: ドメイン名を入力
HTTPS化を簡単にするために、一度HTTPで作成する

これでHTTPでの公開が完了。
80のポート開放をしていればアクセスできるはず。
win-acmeの導入(HTTPS化)
ダウンロード: https://www.win-acme.com/
上記サイトからダウンロードしてzipファイルを解凍、wacs.exeを管理者として実行
メニューで「Create new certificate (full options)」または「N」→ 「1」による IIS 対応を選択
色々規約の同意が出てくるので、すべて同意して、メールアドレスを入力して完了。
HTTPでの公開が出来ていれば勝手にHTTPS化してくれるので、HTTPSでアクセスできるようになります。
おまけ
HTTPでアクセスされた際にHTTPSでの通信にリダイレクトさせる設定
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
<rule name="SPA Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
これをindex.htmlと同じ階層においておけば勝手にリダイレクトされるようになる。