nginx中proxy_pass的使用(alias和root使用)

nginx中proxy_pass的使用(alias和root使用)

前面我们一起学习了location的匹配规则,如果还不了解的话可以参考我这边文章(nginx中location的使用),今天一起来学习nginx中proxy_pass的匹配过程,也是非常简单

proxy_pass匹配主要分两种情况

1、proxy_pass代理的url后面只有ip(域名)+端口,其他什么都没有(包括”/”都不能有)

此时代理的路径需要把请求的url中ip+port后面的路径追加到proxy_pass后面

例如:

假设http的请求路径为:http://123.25.95.148:9998/nginx/hello?name=taolong

nginx配置文件内容

server {
        listen       9998;
        server_name     123.25.95.148;
    
     	#匹配规则
        location /nginx {
               proxy_pass http://123.25.95.148:10010;
        }
   

}

此时

proxy_pass后面的url=http://123.25.95.148:10010,没有任何内容

这是就需要将http请求路径中的 “nginx/hello?name=taolong”内容追加到proxy_pass的url后面

最终代理的路径为:http://123.25.95.148:10010/nginx/hello?name=taolong

2、proxy_pass代理的url后面除了ip(域名)+端口,还有其他的内容

此时的匹配逻辑,就需要将请求中的未匹配到location的内容追加到proxy_pass的url后面

例如:

假设http的请求路径为:http://123.25.95.148:9998/nginx/hello?name=taolong

nginx配置文件的内容如下:

server {
        listen       9998;
        server_name     123.25.95.148;
    

     	#匹配规则
        location /nginx/hello {
        	   #注意这里是“/”结尾,请求url中未匹配的内容:?name=taolong
               proxy_pass http://123.25.95.148:10010/hello;
        }
        #此时上面输出的结果:http://123.25.95.148:10010/hello?name=taolong
	
		#匹配规则
        location /nginx {
        	   #注意这里是“/”结尾,请求url中未匹配的内容:/hello?name=taolong
               proxy_pass http://123.25.95.148:10010/;
        }
        #此时上面输出的结果:http://123.25.95.148:10010/hello?name=taolong
}

proxy_pass就到上面就结束了,下面顺带提一下nginx还有一种类似上面的情况,就是root和alias的使用

root和alias使用

当使用root时,就类似上面第一种情况,直接对应到root指定的目录

当使用alias时,就类似上面的第二种情况,将为匹配的内容追加到alias的url后面

		#测试路径:/root
        #定位的内容:/etc/nginx/html/root/a.html;
        location /root {
                root /etc/nginx/html;
                index a.html;
        }


        #测试路径:/root/test
        #定位的内容:/etc/nginx/html/root/test/b.html;
        location /root/test {
                root /etc/nginx/html;
                index a.html;
        }


        #测试路径:/alias/test/a
        #定位的内容:/etc/nginx/html/test/a/b.html
        location /alias {
                alias /etc/nginx/html;
                index b.html;
        }


        #测试路径:/alias/test/
        #定位的内容:/etc/nginx/html/a.html
        location /alias/test {
                alias /etc/nginx/html;
                index a.html;
        }
·		#正则$1表示第一次匹配的路径变量对应匹配的.*的内容
        #测试路径/aliasregex/test   ---》定位的内容/etc/nginx/html/test/a.html
        #测试路径/aliasregex/a   ---》定位的内容/etc/nginx/html/a/a.html
        location ~ /aliasregex/(.*) {
            alias /etc/nginx/html/$1;
            index a.html;
        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111214.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • acwing-1080. 骑士(基环树dp)[通俗易懂]

    acwing-1080. 骑士(基环树dp)[通俗易懂]Z 国的骑士团是一个很有势力的组织,帮会中聚集了来自各地的精英。他们劫富济贫,惩恶扬善,受到了社会各界的赞扬。可是,最近发生了一件很可怕的事情:邪恶的 Y 国发起了一场针对 Z 国的侵略战争。战火绵延五百里,在和平环境中安逸了数百年的 Z 国又怎能抵挡得住 Y 国的军队。于是人们把所有希望都寄托在了骑士团身上,就像期待有一个真龙天子的降生,带领正义打败邪恶。骑士团是肯定具备打败邪恶势力的能力的,但是骑士们互相之间往往有一些矛盾。每个骑士有且仅有一个他自己最厌恶的骑士(当然不是他自己),他是绝对不

    2022年8月9日
    0
  • linux使用客户端连接redis,使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题…[通俗易懂]

    linux使用客户端连接redis,使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题…[通俗易懂]搭建环境:linux是centos7.4(请注意centos7以下版本的防火墙跟centos7以上的不同,使用redis客户端连接redis时会有区别,建议使用centos7以上版本)一、下载redis客户端二、连接windows下的redis服务器1、确保redis服务器是启动状态2、创建连接打开如下页面:3、使用命令窗口右键点击localhost,选择Console正常使用各种redis命令三…

    2022年9月13日
    0
  • jrtplib java,jrtplib 分包处理

    转载自:http://blog.csdn.net/sxcong/article/details/3736354听说jrtplib写的不错,终于找到时间下来看看。下载,直接用VC6编译,很容易。然后打开VC,建立工程,测试examples下那几个收发程序,的确用起来很简单。想想以前都是自己封装UDP,现在的程序员真幸福。不过,在发送视频数据时出了问题,跟踪进去看了一下,里面设置最大帧数据长度为140…

    2022年4月17日
    44
  • 想要快速完成一个Python项目,离不开这些开源库

    想要快速完成一个Python项目,离不开这些开源库

    2021年10月28日
    36
  • 排列组合的一些公式及推导(非常详细易懂)[通俗易懂]

    排列组合的一些公式及推导(非常详细易懂)[通俗易懂]绪论:加法原理、乘法原理分类计数原理:做一件事,有$n$类办法,在第$1$类办法中有$m_1$种不同的方法,在第$2$类办法中有$m_2$种不同的方法,…,在第$n$类办法中有$m_n$种不同的方法

    2022年8月4日
    10
  • 大疆测评攻略

    他说大疆测评也刷人比例还很高总结来网上的有关注意事项都是各方面搬一点,总结一下测评的题主要为:性格测试,逻辑测试,计算题,场景题。这类的题⽬我能给你们的建议只是针对性格测试和场景题这类的主观性题。DJI大疆2019在线测评-知乎https://zhuanlan.zhihu.com/p/76053124大疆招聘网申测评测试笔试题https://zhuanlan.zhihu.com/p/157371591大疆在线测试三段论https://bbs.yingjiesheng.com/thr

    2022年4月4日
    97

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号