proxy_pass转发路径

一、引言

在nginx中配置proxy_pass时,proxy_pass后面的路径最后面加“/”和不加“/”会有所区别。加“/”时,nginx不会代理location部分,不加“/”时,nginx会同时代理location部分。下面通过实验来证明。

二、实验

实验环境简要说明:

    node1为httpd服务器(172.16.47.101)

    node2为客户端(172.16.47.102)

    node3为nginx代理服务器,自身不对外提供web服务(172.16.47.103)

以下四个例子都是通过http://172.16.47.103/admin/index.html这个地址来访问。

node1网站目录结构如下:每个目录下面的index.html页面的内容都是该页面相对于/var/www/的路径。

[root@node1 /var/www/html]# tree
.
├── abc
│   ├── admin
│   │   └── index.html
│   └── index.html
├── abcindex.html
├── admin
│   └── index.html
└── index.html

3 directories, 5 files
[root@node1 /var/www/html]#

1.第一种情况:

location /admin/ {
       proxy_pass      http://172.16.47.101/;
    }

会被代理到http://172.16.47.103/index.html,访问结果如下

blob.png

2.第二种情况:(注意,相对于第一种情况,路径后面少了一个“/”)

 location /admin/ {
        proxy_pass      http://172.16.47.101;
    }

会被代理到http://172.16.47.103/admin/index.html,访问结果如下

blob.png

3.第三种情况:

location /admin/ {
        proxy_pass      http://172.16.47.101/abc/;
    }

会被代理到http://172.16.47.103/abc/index.html,访问结果如下

blob.png

3.第四种情况:(注意,相对于第三种情况,路径后面少了一个“/”)

location /admin/ {
        proxy_pass      http://172.16.47.101/abc;
    }

会被代理到http://172.16.47.103/abcindex.html,访问结果如下

blob.png

以上,proxy_pass后面的路径最后面加“/”和不加“/”在写法上,差别很小,很多人没写时会没留意到,但带来的结果却大不一样,在使用中千万要留心。

原创文章,作者:Lurker,如若转载,请注明出处:http://www.178linux.com/66487

(1)
LurkerLurker
上一篇 2017-01-12 23:09
下一篇 2017-01-13 09:19

相关推荐

  • Linux keepalived高可用集群

                       Linux keepalived高可用集群 keepalived简介:    keepalived是为了高可用ipvs集群而设计的,主要用作realserver的健康状态检测,如果有一台web…

    系统运维 2016-11-18
  • Nginx

        Nginx(发音同engine x)是一个 Web服务器,也可以用作反向代理,负载平衡器和 HTTP缓存。Nginx 可以部署在网络上使用 FastCGI,脚本,SCGI 处理程序,WSGI 应用服务器或 Phusion 乘客模块的动态 HTTP 内容,并可作为软件负载均衡器。Nginx 使…

    Linux干货 2017-08-29
  • vim、crontab、bash for循环练习

    1、复制/etc/rc.d/init.d/functions文件至/tmp目录,将/tmp/functions文件中的以至少一个空白字符开头的行的行首加#。 vim中支持全文查找替换功能且在查找时支持正则表达式,在替换时进行引用。先使用vim /tmp/functions,然后在vim编辑模式中输入:%s/\(^[[:space:]]\+\)/#\1/g再回…

    系统运维 2016-12-03
  • Linux三剑客之grep伐木累(正则表达式)

    一、Linux文本处理三剑客     Linux上有三种常用的文本处理工具,分别为:grep(egrep、fgrep)、sed、awk。今天主要给大家介绍一下三剑客中的第一剑:grep伐木累。 二、grep是什么?     grep 全称(Globally search a Re…

    Linux干货 2016-03-09
  • DNS简单配置

    正向解析,反向解析,主从, 主:主配置文件:options {        listen-on port 53 { 127.0.0.1; 172.16.252.194; };  //监听的端口,即哪些主机可以进行访问        directory   &…

    Linux干货 2017-05-24
  • Linux下DNS服务器配置

    Linux下DNS服务器配置 简要描述各种DNS服务器的配置方法。包括正向解析DNS服务器、逆向解析DNS服务器、主从DNS服务器。 实验环境整体配置 关闭SElinux setenfore 0 清空防火墙 iptables -F 修改主配置文件 /etc/named.conf #监听本机外网端口 listen-on port 53 { 127.0.0.1;…

    Linux干货 2017-05-31