Redirect nginx-HTTPS重定向
我试图让我的网站只使用HTTPS。我已经查看了stackoverflow的所有内容,并尝试了该站点的nginx设置文件的许多建议设置,但我仍然无法让所有地址组合正常工作。我需要在文件中更改什么才能使其正常工作 这两个地址组合不会重定向-Redirect nginx-HTTPS重定向,redirect,ssl,nginx,https,Redirect,Ssl,Nginx,Https,我试图让我的网站只使用HTTPS。我已经查看了stackoverflow的所有内容,并尝试了该站点的nginx设置文件的许多建议设置,但我仍然无法让所有地址组合正常工作。我需要在文件中更改什么才能使其正常工作 这两个地址组合不会重定向- >无重定向(出错) >无重定向(出错) 以下是设置文件的外观- server { listen [::]:80; server_name www.example.com; return 301 https://$hos
- >无重定向(出错)
- >无重定向(出错)
server {
listen [::]:80;
server_name www.example.com;
return 301 https://$host$request_uri;
}
server {
listen [::]:80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen [::]:443 default_server ipv6only=off;
server_name example.com www.example.com;
# rest of config file...
}
我通过以下方式在服务器上完成此操作:
server {
listen 80;
server_name example.com;
rewrite ^/(.*) https://example.com/$1 permanent;
}
乍一看,您的配置看起来还可以,但是注意到,对于较旧版本的nginx,您的配置会遇到一些限制
最后,在安全服务器配置中,您可以包含一个指令,使客户端将来只能通过TLS连接到您的域
add_header Strict-Transport-Security max-age=31536000;
下面的配置将把example.com重定向到 但是,如果要将所有域重定向到https:
- 将服务器名称更改为(服务器名称)
- 将重定向规则中的$server\u name变量替换为$host(返回301 https://$host$request\u uri;)
- 您可以这样使用
server {
listen 192.168.1.1:443 ssl;
server_name www.example.com;
ssl_certificate www.example.com.crt;
...
}
server {
listen 192.168.1.2:443 ssl;
server_name www.example.org;
ssl_certificate www.example.org.crt;
...
}
我已经把TLS部分放在那里了。你发布的内容几乎相同。如果我删除端口前面的
[::]:
部分,那么我将介绍我发布的第一个场景,但它仍然无法处理您是否在端口80服务器的servername
指令中同时列出domain.com
和www.domain.com
?否。我在端口443服务器中。我应该在这两个服务器区域中同时列出这两个吗?谢谢请发布您当前的配置以澄清问题。将$host变量替换为$server\u名称。应该有用!!
server {
listen 192.168.1.1:443 ssl;
server_name www.example.com;
ssl_certificate www.example.com.crt;
...
}
server {
listen 192.168.1.2:443 ssl;
server_name www.example.org;
ssl_certificate www.example.org.crt;
...
}