将 https://www.subdomain.example.com 重定向到 https://subdomain.example.com(删除 www)

时间:2021-03-20 23:48:47

标签: nginx

我有一个 nginx 配置:

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

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

server {
    
    listen          443 ssl;
    server_name     www.collabora.example.com;
    return 301 $scheme://collabora.example.com$request_uri;
}


server {
    
    listen          443 ssl;
    server_name     collabora.example.com;
    
    location / {
        proxy_pass http://collabora:9980;
        access_log off;
        proxy_set_header Host $host;
    }

根据需要设置以下重定向功能:

www.collabora.example.com redirects to https://collabora.example.com
collabora.example.com redirects to https://collabora.example.com

但是,这种重定向不会发生,ssl www 到非 www:

https://www.collabora.example.com  : no redirect, instead site cert warning.

如何调整我的块,以便 https://www.collabora.example.com 重定向到 https://collabora.example.com

1 个答案:

答案 0 :(得分:1)

Lets encrypt 允许您创建对多个 URL 有效的证书。 您可以尝试使用 www 创建证书(或更新您的证书)。和您网站的正常版本。

此答案基于@richardSmith 提出的问题。