Nginx条件重写
我正在尝试基于http/https将domain1.com重定向到domain2.comNginx条件重写,nginx,https,dns,rewrite,Nginx,Https,Dns,Rewrite,我正在尝试基于http/https将domain1.com重定向到domain2.com 因此,对的请求将转到 请求转到 我当前的Nginx vhost文件设置为: server { listen 80; listen 443 ssl; ssl_certificate /etc/nginx/xxx.crt; ssl_certificate_key /etc/nginx/xxx.key; server_name *.domain1.com;
- 因此,对的请求将转到李>
- 请求转到
server {
listen 80;
listen 443 ssl;
ssl_certificate /etc/nginx/xxx.crt;
ssl_certificate_key /etc/nginx/xxx.key;
server_name *.domain1.com;
if ( $scheme = "https" ) {
rewrite ^ https://domain2.com$request_uri? permanent;
}
rewrite ^ http://domain2.com$request_uri? permanent;
}
然而,访问只是去。我似乎无法检测到https。我做错了什么?谢谢
编辑:
我已将我的vhost编辑到下面,但出现了相同的问题:
server {
listen 80;
listen 443 ssl;
ssl_certificate /etc/nginx/xxx.crt;
ssl_certificate_key /etc/nginx/xxx.key;
server_name *.domain1.com domain1.com;
return 301 $scheme://domain2.com$request_uri;
}
如果和重写
return 301 $scheme://domain2.com$request_uri;
顺便说一句,
server\u name*.domain1.com
不匹配domain.com
@AlexeyTen,我想要服务器名*.domain1.com domain1.com
以匹配所有www和domain1.com的变体是否正确?是。或者只是.domain.com
。我尝试了上述方法,但同样的问题似乎也发生了,重定向到。您确定这不是浏览器缓存的重定向吗?您是否尝试过使用curl或wget?是的,我尝试过清除缓存,但同样的行为似乎也发生了。