如果将http重定向到https nginx,我们是否需要在第二个服务器块中使用server_name

时间:2016-11-03 05:35:07

标签: ssl nginx ssl-certificate

如果我将所有http流量重定向到https,我们是否应该在443块上使用server_name

server {
        listen 80;
        listen [::]:80;
        server_name domain.com;
        return 301 https://$server_name$request_uri;
}

server {
        listen 443 ssl;
        listen [::]:443 ssl;

        server_name domain.com; #do we need this?

        ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;

        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

我可以省略在443端口下的第二个服务器块中写server_name吗?

1 个答案:

答案 0 :(得分:2)

是的,你需要这个,因为你可以拥有(或稍后添加)另一个侦听443的服务器块。然后你需要告诉nginx哪个服务器块应该为哪个域提供请求。