Redirect 将IP重定向到NGINX中的主机名

Redirect 将IP重定向到NGINX中的主机名,redirect,url-rewriting,nginx,proxy,ip,Redirect,Url Rewriting,Nginx,Proxy,Ip,我想使用rewrite指令将我网站的每个IP地址重定向到该网站的主机名,然后使用NGINX中的proxy\u pass指令访问该网站,如下所示 proxy_pass http://host/name ; 使用NGINX作为代理适用于,但我无法更改脚本以重写地址并同时代理我的请求。我尝试使用Rewrite指令,但找不到正确的语法 使用rewrite指令更改主机将导致重定向。这意味着客户端需要在新主机上发布另一个请求,然后,您可以通过代理传递该请求。在这种情况下,客户端(例如浏览器)中的URL将

我想使用rewrite指令将我网站的每个IP地址重定向到该网站的主机名,然后使用NGINX中的proxy\u pass指令访问该网站,如下所示

 proxy_pass http://host/name ;

使用NGINX作为代理适用于,但我无法更改脚本以重写地址并同时代理我的请求。我尝试使用Rewrite指令,但找不到正确的语法

使用rewrite指令更改主机将导致重定向。这意味着客户端需要在新主机上发布另一个请求,然后,您可以通过代理传递该请求。在这种情况下,客户端(例如浏览器)中的URL将更改,如“
http://*.*.*.*:port/uri?请求字符串”
”->“
http://host/uri?request_string

通常,我们使用rewrite指令来更改将被代理传递的请求的URI。如果要更改主机,请使用
proxy\u set\u 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;
}

在这种情况下,从客户端看,url不会改变,但对于后端服务器,您可以打印主机字段,并将其更改为“internal.xxx.com”

您能为我解释更多这段代码吗?如果您可以接受301或302重定向,使用“重定向”,我如何使用网站的真实IP和主机名对其进行测试指令,然后是proxy_pass。如果要更改proxy_pass中的主机字段,可以使用proxy_set_头替换它。阅读手册并尝试更多。