日本語のREADME
通常
docker-compose.yml
https-portal:
image: steveltn/https-portal:1
ports:
- '80:80'
- '443:443'
restart: always
volumes:
- ./certs:/var/lib/https-portal
environment:
#STAGE: 'production'
#FORCE_RENEW: 'true'
DOMAINS: >-
example.com -> http://111.111.111.111
複数ドメイン
docker-compose.yml
https-portal:
image: steveltn/https-portal:1
ports:
- '80:80'
- '443:443'
restart: always
volumes:
- ./certs:/var/lib/https-portal
environment:
#STAGE: 'production'
#FORCE_RENEW: 'true'
DOMAINS: >-
example.com -> http://111.111.111.111
,example2.com -> http://111.111.111.112
443のポートを変える場合
docker-compose.yml
https-portal:
image: steveltn/https-portal:1
ports:
- '80:80'
- '10443:443'
restart: always
volumes:
- ./certs:/var/lib/https-portal
environment:
#STAGE: 'production'
#FORCE_RENEW: 'true'
DOMAINS: >-
example.com -> http://111.111.111.111
NAT下の場合
docker-compose.yml
https-portal:
image: steveltn/https-portal:1
ports:
- '80:80'
- '443:443'
restart: always
volumes:
- ./certs:/var/lib/https-portal
# NAT下の場合、hostsを使えばいけるっぽい?
extra_hosts:
- 'example.com:127.0.0.1'
environment:
#STAGE: 'production'
#FORCE_RENEW: 'true'
DOMAINS: >-
example.com -> http://111.111.111.111
コンテナとリンクする場合
docker-compose.yml
https-portal:
image: steveltn/https-portal:1
ports:
- '80:80'
- '443:443'
links:
- nginx
restart: always
volumes:
- ./certs:/var/lib/https-portal
environment:
#STAGE: 'production'
#FORCE_RENEW: 'true'
DOMAINS: >-
example.com -> http://nginx
nginx:
image: nginx
テスト段階では production を使わないほうが良い
-
レート制限 - Let's Encrypt - フリーな SSL/TLS 証明書に引っかかる可能性がある
- 1時間毎に 5 に制限 (stagingだと1時間ごとに60)
公式
Certbotでの認証は以下がある。チャレンジのタイプ - Let's Encrypt - フリーな SSL/TLS 証明書
- HTTP-01
- Webサーバの認証用ファイルを80番ポートでアクセスしてもらい、発行されたワンタイムトークンと検証する。
- セキュリティの観点から80番ポートを変える気はないとのこと。
- DNS-01
- ワンタイムトークンを対象ドメインのTXTレコードに登録し検証する。
- TLS-SNI-01
- HTTP-01 の 443ポート版。使われなくなった。
- TLS-ALPN-01
- 開発中の様子。Apache、Nginx、Certbotにはまだ対応していない。
steveltn/https-portal
はHTTP-01に対応している。
basic認証
https-portal:
# ...
environment:
DOMAINS: 'username:password@example.com -> <upstream>'