NAT VPS で HTTPS サイトを公開:Nginx + acme.sh 実践
公開日 2026/10/8 4:15:08 · 更新日 2026/10/8 4:15:08
NAT VPS で HTTPS サイトを動かす要点は 2 つです。ポートを内部の 80 / 443 にマッピングすること、そして正しい証明書の検証方式を選ぶことです。
手順 1:ポートマッピングの確認
- 注文詳細ページで、マッピング可能な公網ポートを内部の 80(HTTP)または 443(HTTPS)へ向けます。
- 外部からの URL は http://公網IP:あなたのポート で、既定の 80 / 443 ではありません。
- これをしないと外部からは絶対に開けません。
手順 2:証明書は DNS-01 で
- Let's Encrypt の HTTP-01 は 80 番への到達が必要ですが、NAT プランの公網ポートはシステム割り当てで通常 80 ではありません。
- よって DNS-01 を推奨します。acme.sh の dns_cf(Cloudflare)等で DNS TXT レコードにより検証します。
- DNS-01 はワイルドカード(*.example.com)にも対応します。
手順 3:Nginx リバースプロキシ
- Nginx は内部の 80(公網ポートのマッピング先)で待ち受けます。
- Nginx が TLS を終端し、アプリ(例:127.0.0.1:3000)へプロキシします。
- 証明書は acme.sh の出力先を指定し、更新後は Nginx を reload します。
手順 4:DDNS(任意)
- 出口 IP は毎日切り替わるため、ドメインで公開する場合は DDNS で A レコードを追従させます。
- 公網IP:ポート のみなら不要です。
よくある落とし穴
- 証明書は取れたのにブラウザが警告:https:// と正しいポートでアクセスしているか確認。
- 更新失敗:DNS-01 の API トークンの権限不足か期限切れ。
- まったく開かない:マッピングの有無、Nginx の起動、内部ファイアウォールの許可を確認。
次のステップ
- ポートとアクセスの方針
- 詳しい切り分けは ヘルプセンター
