0
主机名我想用改写指令我的网站的每个IP地址重定向到该网站的主机名,也比使用proxy_pass指令访问该网站在NGINX这样重定向IP在NGINX
proxy_pass http://host/name ;
使用NGINX作为代理可行,但我无法改变我的脚本来重写地址并同时代理我的请求。我试图使用Rewrite指令,但我无法找到正确的语法。
主机名我想用改写指令我的网站的每个IP地址重定向到该网站的主机名,也比使用proxy_pass指令访问该网站在NGINX这样重定向IP在NGINX
proxy_pass http://host/name ;
使用NGINX作为代理可行,但我无法改变我的脚本来重写地址并同时代理我的请求。我试图使用Rewrite指令,但我无法找到正确的语法。
使用rewrite指令更改主机将导致重定向。这意味着客户端需要使用新主机发布另一个请求,然后,您可以proxy_pass这个请求。在这种情况下,客户端(例如浏览器)中的URL将会更改,如'http://*.*.*.*:port/uri?request_string
' - >'http://host/uri?request_string
'。
通常,我们使用rewrite指令来更改将被proxy_passed请求的URI。如果你想改变主机,使用proxy_set_header
。举个例子:
location ~* "^/maishenme/(knowse|knowdetail|iget|ilist|initem|i?compare)(.*)?$" {
rewrite "^/maishenme/(.*)?$" /$1 break;
proxy_pass http://***.xxx.com;
proxy_set_header Host "internal.xxx.com";
break;
}
在这种情况下,从客户端,网址没有改变,但对于后端服务器,可以打印主机领域,看看它改为“internal.xxx.com”
能否请您解释一下这更多的代码我,我怎么能与网站 – Hobbit1919
的真实IP和主机名来测试它,如果你能接受一个301或302重定向,使用“重定向”指令,然后proxy_pass.If你想要更改proxy_pass中的主机字段,可以使用proxy_set_header替换它。阅读手册并尝试更多。 – TroyCheng