我目前正在运行几个docker集装箱。 一个用于nginx,一个用于我的节点js应用程序,最后一个用于创build和更新从authentication的encryption。 这工作相当好一段时间,但我遇到了一个问题。
在这个服务器上,我有5个域都安装了ssl。 但是现在我不能安装更多的证书。 我得到这个:
- The following errors were reported by the server: Domain: domain1.com Type: unauthorized Detail: Incorrect validation certificate for tls-sni-01 challenge. Requested c7a966714b5363c594f152b27f947722.f767e462430a051872cd4eaab3969248.acme.invalid from MY_IP:443. Received 2 certificate(s), first certificate had names "domain0.com"
环顾四周后,我看到,如果我去“ https://domain1.com/ ”我得到一个错误信息,读取:
Safari无法validation网站“domain1.com”的身份。
当我点击“显示证书”,它显示我domain0.com的证书
这是domain0.com的configuration
server { listen 80; server_name domain0.com; location /.well-known/acme-challenge { proxy_pass http://certbot:80; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto https; } location / { return 301 https://$server_name$request_uri; } } server { listen 443; server_name domain0.com; client_max_body_size 50M; ssl on; ssl_certificate /etc/letsencrypt/live/domain0.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain0.com/privkey.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_dhparam /etc/ssl/private/dhparams.pem; location /.well-known/acme-challenge { proxy_pass http://certbot:443; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto https; } location / { proxy_pass http://cldapi1:8080; proxy_set_header Host $host; proxy_set_header X-Protocol https; proxy_set_header X-Forwarded-For $remote_addr; } }
certbot是允许encryption容器的链接,而cldapi1是到节点应用程序的链接。
我想这是默认的服务器,因为它是nginxconfiguration中的第一个服务器块。 但是,当我尝试创build一个SSL默认服务器,它将无法正常工作,因为我没有一个默认服务器的证书,如果我会有一个不能很好地让我们encryption。
我想我需要一种方法,让encryption寻找一个不让服务器与SSL证书响应。
如果您有任何build议或疑问,请让我知道!
我正在运行nginx版本1.11.9和certbot版本0.9.3