nginx rewrite域名跳转访问XML接口
需求:
域名访问内网与外网都能同时访问,有些业务系统如sap只能内网,不能上网,现要求内网访问域名接口地址rewrite到内网ip接口地址:
环境:
域名接口地址:xxx.xxx.com/webservice/cps?wsdl
IP接口地址:1.1.1.1/webservice/cps?wsdl
nginx配置实现
set $ha "0"; 设置变量为0 if ( $host ~* ^www\.gome\.com\.cn ) { 通过通配符找到域名 set $ha "${ha}1"; 如果找到设置变量为01 } if ( $request_uri ~* ^/webservice ) { 找到域名后的参数为webservice set $ha "${ha}2"; 如果找到设置变量为012 } if ( $ha = "012" ) { 如果变量ha等于012 return 301 http://1.1.1.1.1$uri?$args; 跳转到相应地址
rewrite (.*) http://10.112.84.3/$1; 或者rewrite
}