docker-hubにhttps-portal という大変便利なコンテナイメージがあり、お試し感覚で使ってみたところ、様々な点でハマってしまったため、備忘録的に綴る。
ざっくり言うと「リバースプロキシとして動作するnginxコンテナが他のwebサーバコンテナ達のhttpsアクセラレータとして動作してくれる」といったもの。
httpsで使用する証明書については、コンテナ起動時にLet’s Encrypt(DV認証)から取得する仕組み。
ハマりポイント(実施したほうが良い作業)だけを簡潔に書くと、
- dockerホストのselinux無効化
- インターネット側からhttps-portalコンテナに対して80/tcpで 通信可能な状態にする(Let’s Encrypt対策)
- インターネット側のDNSサーバーに取得済ドメインのAレコードを設定
といったところ。
Let’s Encryptの証明書を使わないで自己署名証明書を使う場合はコンテナに渡す環境変数「STAGE」を「local」にしてあげればOK。その場合は閉鎖された環境でも構築可能。
詳しい使い方についてはこちら。
ViVa Docker!