如何在nginx中将WWW-url重定向到非WWW-url?

如何在nginx中将WWW-url重定向到非WWW-url?,nginx,proxy,lets-encrypt,nginx-reverse-proxy,nginx-config,Nginx,Proxy,Lets Encrypt,Nginx Reverse Proxy,Nginx Config,我的nginx配置有问题,我想重定向到 这是我的配置 server { listen 443 ssl; ssl_certificate /etc/letsencrypt/live/yoursay.transport.nsw.gov.au/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yoursay.transport.nsw.gov.au/privkey.pem; # enable OCSP

我的nginx配置有问题,我想重定向到

这是我的配置

server {
    listen 443 ssl;

    ssl_certificate /etc/letsencrypt/live/yoursay.transport.nsw.gov.au/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yoursay.transport.nsw.gov.au/privkey.pem;

    # enable OCSP stapling to speed up first connect
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_trusted_certificate /etc/letsencrypt/live/yoursay.transport.nsw.gov.au/chain.pem;

    if ($host = www.$server_name) {
    rewrite ^(.*) https://$server_name$request_uri? permanent;
    }
    server_name yoursay.transport.nsw.gov.au;

    root /var/www/ehq;

    add_header X-XSS-Protection "1; mode=block";
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload";

    include snippets/common_blocks.inc;
}

server {
    listen 80;

    server_name yoursay.transport.nsw.gov.au;
    return 301 https://yoursay.transport.nsw.gov.au$request_uri;
}
但它仍然不起作用,它说错误连接关闭了

请帮助我解决此问题。

替换此:

    if ($host = www.$server_name) {
    rewrite ^(.*) https://$server_name$request_uri? permanent;
    }
    server_name yoursay.transport.nsw.gov.au;
为此:

    if ($host = www.yoursay.transport.nsw.gov.au) {
        return 301 https://yoursay.transport.nsw.gov.au$request_uri;
    }
    server_name yoursay.transport.nsw.gov.au www.yoursay.transport.nsw.gov.au;
说明:


当有人访问您的网站时,他们会发送HTTP请求头。其中一个是主机,这是他们用来访问网站的地址。它可以是IP地址、www.example.com、example.com或其他完全不相关的内容。服务器名称选项定义此配置所属的主机头。这就是为什么我在服务器名称中添加了www.yoursay.transport.nsw.gov.au,因此此配置用于访问该地址的访问者。您可能还希望在HTTP服务器块中重复此操作,即在端口80上侦听的服务器块。

它不起作用,它说,nginx:[emerg]未知指令重定向在/etc/nginx/sites enabled/www.yoursay.transport.nsw.gov.au:37 nginx:configuration file/etc/nginx/nginx_resty.conf test中failed@sambit哦,对不起,不是重定向,返回。我会修正答案的。它现在应该可以工作了。通过certbot强制续订方法获得证书后,它得到了修复。sudo certbot certonly-强制更新-webroot-w/var/www-d www.yoursay.transport.nsw.gov。au@sambit很乐意帮忙。我希望您多次指定了-d,因为否则您只是用另一个名称证书替换了一个名称证书。