SSL无法在nginx Ubuntu 16.04上运行

时间:2016-10-12 08:06:04

标签: ubuntu ssl nginx

我从namecheap获得SSL并激活。激活后,我下载文件mydomain.crt和mydomain.ca-bundle。然后将它们合并为一个。

$ cat mydomain.crt mydomain.ca-bundle>> mydomain_chain.crt

我的服务器是digitalocean上的VPS LEMP堆栈。

我把mydomain_chain.crt和mydomain.key放在/ etc / nginx / ssl文件夹中。

然后编辑nginx主机文件,如下所示: sudo nano / etc / nginx / sites-available / default

server {
    listen 80 default_server;
    listen [::]:80 default_server;
	
    server_name mydomain.co www.mydomain.co;
	
    rewrite ^/(.*) https://www.mydomain.co/$1 permanent;
   }

server {
    listen 443 ssl http2 default_server;
    listen [::]:443 http2 default_server;
	
    server_name mydomain.co www.mydomain.co;
	
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
	
	root /var/www/html;
	
	index index.html index.htm;
	
    ssl_certificate /etc/nginx/ssl/mydomain_chain.crt;
	ssl_certificate_key /etc/nginx/ssl/mydomain.key;
	
	location / {
		try_files $uri $uri/ =404;
	}
   }

但是当我输入https://www.mydomain.co

时,它无效

我可能知道缺少什么配置。

此致 亚历克斯

2 个答案:

答案 0 :(得分:1)

非常感谢你的帮助。

我发现了问题。在digitalocean中,如果您单击LEMP 16.04,则您的nginx主机配置文件是/ etc / nginx / sites-available / digitalocean,而不是/ etc / nginx / sites-available / default。这就是为什么我默认改变的原因,它没有影响。

答案 1 :(得分:0)

SSL不能在IPv6上启用,但除此之外,您的配置似乎可行(重定向到HTTPS有点不寻常,但如果您明确尝试了https://那就不重要了。)