如果有人好心地向我提供有关如何让 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/