nginx 反向代理之 proxy_pass的实现

格式很简单: proxy_pass URL;

其中URL包含:传输协议(http://, https://等)、主机名(域名或者IP:PORT)、uri。

示例如下:

proxy_pass http://www.xxx.com/;
proxy_pass http://192.168.200.101:8080/uri;
proxy_pass unix:/tmp/www.sock;

对于proxy_pass的配置有几种情况需要注意:

假设server_name为www.xxx.com

当请求http://www.xxx.com/aming/a.html的时候,以上示例分别访问的结果是

示例1:

location /aming/
{
  proxy_pass http://192.168.1.10;
  ...
}

结果1:http://192.168.1.10/aming/a.html

示例2:

location /aming/
{
  proxy_pass http://192.168.1.10/;
  ...
}

结果2:http://192.168.1.10/a.html

示例3:

location /aming/
{
  proxy_pass http://192.168.1.10/linux/;
  ...
}

结果3:http://192.168.1.10/linux/a.html

示例4:

location /aming/
{
  proxy_pass http://192.168.1.10/linux;
  ...
}

结果4:http://192.168.1.10/linuxa.html

总结:

为了方便记忆和规范配置,建议所有的 proxy_pass 后的url都以“/”结尾。

proxy_pass http://192.168.1.10/linux/;

相关推荐