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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • keil5 debug调试_java怎么远程调试

    keil5 debug调试_java怎么远程调试文章目录前言一、进入调试二、介绍调试工具栏二、搜索寻找三、特殊的窗口1.命令输出窗口2.寄存器窗口3.汇编语言窗口4.变量查看窗口5.检测自己想要看的总结前言其实我经常用的调试方法是在指定行加Printf();通过串口查看打印的信息,就知道执行到哪一步。但是这是很麻烦的。程序由上而下的执行顺序不会变的。debug调试也是从主函数开始这样调试的。一步一步的运行调试程序检查错误,或者直接运行到某处,二话不多说,开整!一、进入调试二、介绍调试工具栏1.复位按钮:(类似于用复位按键..

    2022年10月15日
    0
  • 【数据分析报告】携程客户分析与流失预测

    【数据分析报告】携程客户分析与流失预测目录一、项目背景与目的二、探索性分析2.1数据指标预览2.2数据概况2.3数据分布2.3.1数据分布总览2.3.2预定日期和入住日期2.3.3访问时间段2.3.4客户价值2.3.5消费能力指数2.3.6价格敏感指数分布2.3.6入住酒店平均价格2.3.7酒店星级偏好2.3.8订单取消率2.3.9用户年订单数分布2.3.10新老客户流失率三、数据预处理3.1去除不需要的字段与重复字段3.2数据类型转换3.3异常值处理3.3.1负数处理3.3.2极值处理3.4缺失值处理3.

    2022年10月18日
    0
  • 磁盘管理无法连接虚拟磁盘服务_diskpart虚拟磁盘服务错误

    磁盘管理无法连接虚拟磁盘服务_diskpart虚拟磁盘服务错误满意答案在ParallelsDesktop中,将新的空白虚拟硬盘添加到虚拟机配置后,对于安装在虚拟机中的操作系统来说它将不可见,直至将其初始化。初始化Windows中的新虚拟硬盘要初始化Windows虚拟机操作系统中的新虚拟硬盘,需要可用的磁盘管理工具。例如,在Windows7和WindowsXP中可以通过以下步骤访问该工具:·在Windows7中,点击“开始”>“控制面板”&…

    2022年9月21日
    0
  • Oracle数据库之SQL语句练习篇–准备

    Oracle数据库之SQL语句练习篇–准备

    2021年8月23日
    58
  • pycharm设置好看的背景和字体颜色

    pycharm设置好看的背景和字体颜色打开settings搜索python,选择Monokai,就可以了

    2022年8月29日
    1
  • 手把手教你制作机房三维场景(3D效果图)

    手把手教你制作机房三维场景(3D效果图)前言:随着信息技术的不断发展,大量数据中心机房的建设、监控软件已经成为机房管理者的重要武器,特别是机房效果图这一块,从简易的CAD到现在的3D效果图,从静态到三维动态的改进,机房监控软件基本上可以说是从无到有的一个过程,下面本文跟大家分享机房高大上的数据中心三维可视化管理软件的三维场景制作过程(俗称:3D效果图的制作过程)。以前的机房效果图现在的机房3D效果图数据中心可三维可视化管理软件,通过对现

    2022年6月2日
    147

发表回复

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

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