我正在尝试在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 URL时,没有任何结果,但是出现此错误
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连接已建立”,但未显示任何内容或警告.只说连接被取消了
解决方法:
问题可能出在证书上.您可以看到教程来创建* .pem证书而不是* .crt并添加为:
ssl_certificate /etc/nginx/ssl/nginx.pem;