我正在尝试将安全的docker代理作为概念证明。这似乎接近于工作(端口80工作,并且“It Works!”页面出现在b.example.com上)。但是,控制台在生成密钥时显示错误。
搬运工-compose.yml :
version: '2'
services:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- ./certs:/etc/nginx/certs:ro
- /etc/nginx/vhost.d
- /usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
nginx-letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
volumes:
- ./certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes_from:
- nginx-proxy:rw
environment:
- LETSENCRYPT_TEST=true
site-b:
image: httpd
networks:
- reverse-proxy
- back
environment:
- VIRTUAL_PORT=1234
- VIRTUAL_HOST=b.example.com
- LETSENCRYPT_HOST=b.example.com
错误:
nginx-letsencrypt_1 | 2018-04-27 11:41:40,244:错误:simp_le:1446:CA将某些授权标记为无效,这可能意味着它无法访问http://example.com/.well-known/acme-challenge/ X。你在-d example.com:path或--default_root中设置了正确的路径吗?您的所有域名都可以通过互联网访问吗?请检查您的域名的DNS条目,主机的网络/防火墙设置和您的网络服务器配置。如果域的DNS条目同时设置了A和AAAA字段,则某些CA(例如Let的加密)将通过IPv6执行质询验证。如果您的DNS提供商未正确回答CAA记录请求,那么Let's Encrypt将不会为您的域颁发证书(请参阅https://letsencrypt.org/docs/caa/)。授权失败:https://acme-v01.api.letsencrypt.org/acme/authz/HsDmBtfcqucZ2j7gT5rGkCf1ESqHaxbkNxZRRWwXfFQ