2017-02-07 162 views
0

我在运行Nginx的网络服务器上设置了一个letsencrypt SSL证书。letsencrypt在nginx和非www https到www https重定向

http到https重定向为非www和www工作正常。 直接去https://www.example.com作品。 https非www不起作用,浏览器返回拒绝连接。

所以: http://example.comhttps://www.example.com

http://www.example.comhttps://www.example.com

工作

https://example.comhttps://www.example.com

不起作用

我的网站的conf是

server { 
listen 80; 
server_name example.com www.example.com; 
return 301 https://www.example.com$request_uri; 
} 

server { 
    listen 443 ssl http2; 
    server_name example.com; 

    #ssl certs locations etc. 

    return 301 https://www.example.com$request_uri; 
} 

server { 
    listen 443 ssl http2; 
    server_name www.example.com; 

    #ssl certs locations etc. 

    #rest of main block 
} 

的letsencrypt证书是用命令(certbot-auto因为服务器运行的是较旧的Linux发行版)发布:

certbot-auto certonly -n -a webroot --webroot-path=[path to webroot] -d example.com -d www.example.com --email [email protected] --agree-tos 

说完看着其他类似的问题,nginx的CONF应该工作。 我的理解是,我如何创建证书意味着有一个example.com和www.example.com的证书。

当我加载网站并查看证书都列在主题备用名称下。

回答

1

已解决。原来是一个DNS设置问题。 www.example.com上有一个注册商定制的example.com域转发器。删除并为example.com添加A记录修复了所有问题。

相关问题