Docker与Nginx – https不工作

我对使用Docker比较陌生。 我用Nginx,PHP和Mysql设置了一个Docker容器。 我可以从虚拟机( http://192.168.99.100/ )访问IP,一切正常。

但是,当我转到https://192.168.99.100/时 ,Chrome会放置笑脸,并说ERR_CONNECTION_RESET

如何让Nginx为环境启用SSL证书?

我正在使用Windows 10,而VM使用的是Virtualbox, 而不是 Hyper-V

https的域名不是ip ,所以你可以组织https://example.org访问,但是你不能组织https访问https://123.45.67.89

作为可能的解决scheme,如果您拥有域example.org证书(自签名或真实),则可以:

  1. 添加到主机文件(Windows C:\ Windows \ System32 \ drivers \ etc \ hosts或Linux / etc / hosts)行
    192.168.99.100 example.org

  2. 然后,将这些ssl文件添加到nginxconfiguration并运行您的应用程序。

  3. 现在,如果您尝试访问https://example.org,您将获得到192.168.99.100的安全连接

你需要有,

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; } 

希望这可以帮助。