以前、こちらの記事でHTTPS-PORTALを利用した「Dockerで簡易的にHTTPS通信する方法」をご紹介しました。
今回はHTTPS-PORTALのSTAGEの違いについて詳しく調べてみました。
「production と staging の違いって何?」「どれを使えばいいの?」
そんな疑問をスッキリ整理していきます。
STAGE とは何なのか
HTTPS-PORTAL は内部で Let’s Encrypt を使って SSL 証明書を自動発行します。
その際に、Let’s Encrypt の 本番環境(Production) と テスト環境(Staging)、もしくは Let’s Encrypt の証明書を使わない(Local)のいずれを使うかを選ぶのが STAGE です。
STAGE=local:ローカル開発向け
local は、Let’s Encrypt を使わずに 自己署名証明書(Self‑Signed Certificate)を自動生成するモードです。
インターネットに接続していなくても HTTPS を使えるのが最大の特徴です。
特徴
- Let’s Encrypt を使わないため レートリミットなし
- 完全にローカルで完結
- ブラウザでは「安全ではありません」と表示される(自己署名のため)
こんな時に使う
- ローカル環境で HTTPS が必要なアプリを開発するとき
- Let’s Encrypt の検証を待たずにすぐ HTTPS を試したい
- オフライン環境で動作確認したい
STAGE=staging:テスト用の環境
staging はその名の通り「テスト環境」です。
証明書の発行手順が正しく動くかを確認するためのモードです。
特徴
- Let’s Encrypt の テスト CA を使う
- レートリミット(発行回数制限)が緩い
- 発行される証明書は ブラウザで“安全ではありません”と表示される
- 本番前の動作確認に最適
こんな時に使う
- 初めて HTTPS-PORTAL を使う
- 設定が正しいか何度も試したい
- 複数ドメインの設定を繰り返し検証したい
STAGE=production:本番用の環境
production は実際にサービスを公開するための本番環境です。
特徴
- Let’s Encrypt の 正式な CA を使う
- 発行される証明書は ブラウザで完全に信頼される
- レートリミットが厳しい(短時間で何度も発行するとブロックされる)
こんな時に使う
- サービスを公開する
- 本番運用を開始する
- 証明書を正式に取得したい
3つの STAGE の違いまとめ
| STAGE | 用途 | 証明書の種類 | ブラウザの違い | レートリミット |
|---|---|---|---|---|
| local | ローカル環境 | 自己証明 | 信頼されない | なし |
| staging | テスト | Let's Encrypt(テストCA) | 信頼されない | 緩い |
| production | 本番 | Let's Encrypt(正式CA) | 信頼される | 厳しい |
- local:とにかく HTTPS を使って動作確認したい時
- staging:Let’s Encrypt の設定を本番前に検証したい時
- production:サービスを公開する時

