docker-compose で steveltn/https-portal を使ってSSL,https対応が簡単にできた。
docker-compose 構成は以下の通り。
- steveltn/https-portal でドメイン指定、https対応
- steveltn/https-portalから2つのnginxにアクセス(web, web2)
docker-compose.yml 書き方
docker-compose.yml 配下の通り。
image: steveltn/https-portalを使用しdocker-composeを実行することで自動でhttpsに対応してくれる。
ドメインは、 DOMAINS: ‘localhost.com -> http://web:82, localhost2.com -> http://web2:83’ で指定する。
version: '3.8'
services:
https-portal:
image: steveltn/https-portal
ports:
- "80:80"
- "443:443"
restart: always
environment:
DOMAINS: 'localhost.com -> http://web:82, localhost2.com -> http://web2:83'
# DOMAINS: '{YOUR_DOMAIN_1} -> http://web:82, {YOUR_DOMAIN_2} -> http://web2:83' 好きなドメインに変更
# STAGE: production # Don't use production until staging works
PROXY_CONNECT_TIMEOUT: 60
PROXY_SEND_TIMEOUT: 60
PROXY_READ_TIMEOUT: 60
volumes:
- ./certs:/var/lib/https-portal
web:
image: nginx
ports:
- 82:80
volumes:
- ./docker-config/web/default.conf:/etc/nginx/conf.d/default.conf
- ./web:/var/www/html/web
web2:
image: nginx
ports:
- 83:80
volumes:
- ./docker-config/web2/default.conf:/etc/nginx/conf.d/default.conf
- ./web2:/var/www/html/web
web, web2はnginxを使用したテスト用のページを準備。
詳細は別途githubで公開予定です。