注目★★★★★Hacker News
内部サービスの TLS 証明書を自分署名ではなく Let's Encrypt で安全に運用する
30秒で把握
- 1内部サービスに Let's Encrypt 証明書を適用・分割 DNS で VPN 内外で異なる IP を返す構成
- 2nginx WAF でVPN ネットワークインターフェースのみにバインド・アクセスを VPN 内に限定
- 3acme.sh スタンドアロンと cron ジョブで証明書自動更新・複数サービスは SAN で一度の申請で対応
要約
内部サービスに TLS を導入する際、自己署名証明書を避け、パブリック CA (Let's Encrypt 等) を使う方法を解説している。分割 DNS (split-horizon DNS) で公開インターネットには公開 IP、VPN 接続クライアントには内部 IP を返し、公開 IP に対して有効な証明書を取得できる仕組みにする。nginx で VPN ネットワークインターフェースのみにバインドする WAF レイヤーを追加し、VPN 外からのアクセスを物理的に遮断する二層防御を実装する。acme.sh のスタンドアロンモードと cron による自動更新で、証明書管理の手間を最小化できるという実装論を展開している。
あなたへの影響
VPN を使う組織が自社の内部サービスに HTTPS を導入する際、証明書信頼エラーを無視させるような運用を避けるための実装パターンとして参考になる。
推奨:NetBird + acme.sh + nginx の組み合わせで実現可能だが、自社の VPN ソリューション (Tailscale など) や DNS 構成に合わせて適用方法を検討する必要がある。