我使用Docker相对较新。我用Nginx,PHP和Mysql设置了一个Docker容器,localy。我可以从VM(http://192.168.99.100/)访问IP,一切正常。
然而,当我转到https://192.168.99.100/时,Chrome会笑脸并说出ERR_CONNECTION_RESET
如何让Nginx为环境启用SSL证书?
我使用的是Windows 10,而VM使用的是Virtualbox,不是 Hyper-V
答案 0 :(得分:2)
https适用于域名而非 ip ,因此您可以组织https://example.org访问权限,但无法组织对https://123.45.67.89的ssl访问权限
作为可能的解决方案,如果您拥有域example.org
的证书(自签名或真实证书),您可以:
添加到主机文件(Windows C:\ Windows \ System32 \ drivers \ etc \ hosts或Linux / etc / hosts)行如左
192.168.99.100 example.org
然后,将这些ssl文件添加到nginx配置并运行您的应用程序。
现在,如果您尝试访问https://example.org,您将获得与192.168.99.100的安全连接
答案 1 :(得分:1)
你需要,
在vhost
:
server {
listen 443 ssl;
listen 80;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ALL:!aNULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_certificate /etc/ssl/certs/site.com.crt;
ssl_certificate_key /etc/ssl/private/site.com.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}
在nginx.conf
:
map $scheme $fastcgi_https {
default off;
https on;
}
希望这有帮助。