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

标签 redirect ssl nginx https subdomain

如果有人好心地向我提供有关如何让 NGINX 发挥出色的任何提示,我将非常高兴。我想重定向 https://www.subdomain.domain.com但不幸的是,现在这对我不起作用。

请考虑我在 /etc/nginx/sites-available/default 中为 NGINX 进行的以下设置

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;
}

关于redirect - 如何强制将 www 重定向到非 www SSL 子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38985174/

相关文章:

ruby-on-rails - rails : Restrict API requests to JSON format

wcf - 为我的 WCF 服务启用 SSL

php - 带有自签名证书的 POST 请求

nginx - 为什么必须为某些 Kubernetes 入口 Controller 提供 POD_NAME 和 POD_NAMESPACE?

javascript - Nginx 不传递自定义 header 来访问后端(Node js)

php - Codeigniter 重定向不使用 jQuery Mobile 更新 url

javascript - Chrome API 的 onBeforeRedirect 无法正常工作?

delphi - 使用 Indy + SSL + 代理发布

linux - 无法启动 php-fpm - "cannot get uid for user ' apache'”

php - Symfony,重定向到(或呈现)带有 404 状态返回码的 404 自定义错误页面