Redirect 如何强制将www重定向到非www SSL子域

Redirect 如何强制将www重定向到非www SSL子域,redirect,ssl,nginx,https,subdomain,Redirect,Ssl,Nginx,Https,Subdomain,如果有人能为我提供一些关于如何让NGINX发挥出色的技巧,我将非常高兴。我想改变方向,但不幸的是,这对我现在不起作用 请考虑以下对NGIX的设置,我在 /ETC/NGIX/站点可用/默认< /强> server { listen 443 ssl; server_name subdomain.domain.com; ssl_certificate /etc/letsencrypt/live/subdomain.domain.com/fullchain.pem;

如果有人能为我提供一些关于如何让NGINX发挥出色的技巧,我将非常高兴。我想改变方向,但不幸的是,这对我现在不起作用

请考虑以下对NGIX的设置,我在<强> /ETC/NGIX/站点可用/默认< /强>

server {
     listen 443 ssl;

     server_name subdomain.domain.com;

     ssl_certificate /etc/letsencrypt/live/subdomain.domain.com/fullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/subdomain.domain.com/privkey.pem;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     ssl_prefer_server_ciphers on;
     ssl_dhparam /etc/ssl/certs/dhparam.pem;
     ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-$
     ssl_session_timeout 1d;
     ssl_session_cache shared:SSL:50m;
     ssl_stapling on;
     ssl_stapling_verify on;
     add_header Strict-Transport-Security max-age=15768000;

     server_name subdomain.domain.com; # Replace with your domain
     root /home/dropshare/public_html;
     index index.html index.htm;
     client_max_body_size 10G;

     location ~ /.well-known {
            allow all;
     }
}

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

server {
    listen 443 ssl;
    server_name subdomain.domain.com;
    return 301 https://subdomain.domain.com$request_uri;
}

您的配置无效,被nginx拒绝

您有两个相同的虚拟服务器:

server {
    listen 443 ssl;

    server_name subdomain.domain.com;
...
server {
    listen 443 ssl;
    server_name subdomain.domain.com;
其中一个只是重定向到自身:

server {
    listen 443 ssl;
    server_name subdomain.domain.com;
    return 301 https://subdomain.domain.com$request_uri;
}

您的配置无效,被nginx拒绝

您有两个相同的虚拟服务器:

server {
    listen 443 ssl;

    server_name subdomain.domain.com;
...
server {
    listen 443 ssl;
    server_name subdomain.domain.com;
其中一个只是重定向到自身:

server {
    listen 443 ssl;
    server_name subdomain.domain.com;
    return 301 https://subdomain.domain.com$request_uri;
}

我看不出您试图重定向到哪里?无论如何,首先您必须拥有域
www.subdomain.domain.com
的有效证书。您的配置文件或问题有点混乱。在一个
server
块中有重复的
server\u name
指令,在最后一个server块中有重复的
server\u name subdomain.domain.com
(我想应该是
www.subdomain.domain.com
。请编辑您的问题并澄清。@AlexeyTen谢谢!我想我没有将www.subdomain.domain.com链接到它自己的证书(让我们加密)昨天就解决了。@RichardSmith我根据你的建议做了一些更改,非常感谢。我对配置文件进行了如下编辑:我看不出你试图重定向
www.subdomain.domain.com
?无论如何,首先你必须拥有域
www.subdomain.domain.com
的有效证书您的配置文件或您的问题有点乱。您在一个
服务器
块中有重复的
server\u name
指令,在最后一个服务器块中有重复的
server\u name subdomain.domain.com
(我想应该是
www.subdomain.domain.com
。请编辑您的问题并澄清。@AlexeyTen谢谢!我想我没有将www.subdomain.domain.com链接到它自己的证书(让我们加密)昨天就修好了。@RichardSmith我根据你的建议做了一些修改,非常感谢。我对配置文件进行了如下编辑: