我们希望将something.custom.com
个http请求重定向到https,而其他请求保持不变。试过类似下面的东西,但它没有工作:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name _;
if ($host ~ ^(.*?)\.custom\.com) {
return 301 https://$host$request_uri;
}
root /www/example/public;
}
server {
listen 443 default_server ssl;
listen [::]:443 default_server ipv6only=on ssl;
server_name _;
root /www/example/public;
}
我的设置有问题吗?
答案 0 :(得分:1)
如评论中所述,以下配置应该有效:
server {
listen 80;
listen [::]:80 ipv6only=on;
server_name something.custom.com;
return 301 https://something.custom.com$request_uri;
}
server {
listen 80 default_server;
server_name _;
#Rest of your config here
}
server {
listen 443 default_server ssl;
listen [::]:443 default_server ipv6only=on ssl;
server_name _;
root /www/example/public;
}