本文へスキップ
← お知らせセンターへ

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 の起動、内部ファイアウォールの許可を確認。

次のステップ