我正在尝试在VM上配置nginx 1.6以接受https连接。 我创建了一个自签名证书following this tutorial.,然后我添加了一个像这样的配置文件
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
问题是,当我从浏览器访问https网址时,我没有结果,但是这个错误
Error code: ERR_CONNECTION_RESET
我认为端口443是开放的
netstat -tulpn | grep 443
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 8603/nginx.conf
此外,我可以使用index.html:
wget -–no-check-certificate https://<server_url>
现在,我认为问题是不受信任的证书,因为如果省略了--no-check-certificate,wget会出错,但在这种情况下,我希望浏览器(Chrome或Firefox)给出某种警告,也许让我查看不受信任的证书而不是重置连接。 我究竟做错了什么?提前致谢
修改
Firefox提供“200 Connection Established”但未显示任何内容或警告。它只表示连接已被取消
答案 0 :(得分:3)
问题可能出在证书上。您可以看到教程来创建* .pem证书而不是* .crt并添加为:
ssl_certificate /etc/nginx/ssl/nginx.pem;
答案 1 :(得分:0)
问题在我身边被重命名为my.host.com到localhost并且有效。
server_name localhost;