春哥你好!
最近生产上遇到一个这样的情况。我的nginx配置
server {
#监听端口
listen 8080;
#主机名(域名)
if ($scheme = 'http'){
set $rule_0 1;
}
if ($rule_0 = "1"){
rewrite ^/ykq/(.*) https://$server_name/ykq/$1 permanent; #更改为要跳转的网址
server {
listen 8443;
因为我http配置了所有的http请求会自动转换成https,所以出现了一个问题,出现301跳转的时候,失败了,看日志应该是$servername这个变量解析出现问题,当跳转的时候,server_name不能配置成多个的吗?
因为我把8080和8443的 server_name
test.spay.com 10.109.1.8;这个中的10.109.1.8这个IP去掉的时候,就能正常跳转了。即我的配置如下,就能正常跳转
server {
#监听端口
listen 8080;
#主机名(域名)
if ($scheme = 'http'){
set $rule_0 1;
}
if ($rule_0 = "1"){
rewrite ^/ykq/(.*) https://$server_name/ykq/$1 permanent; #更改为要跳转的网址
server {
listen 8443;