设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
快捷导航
发布信息
搜索
搜索
首页
优惠促销
云服务器
独立服务器
站群服务器
母鸡服务器
服务器托管
全球云服务器
技术文档
联系
每日签到
本版
文章
帖子
用户
主机测评网
»
论坛
›
技术文档
›
其他教程
›
Nginx反向代理proxy_pass目标地址带/与不带/的区别 ...
返回列表
发新帖
Nginx反向代理proxy_pass目标地址带/与不带/的区别
[复制链接]
|
主动推送
46
|
0
|
2024-9-11 18:11:27
|
显示全部楼层
|
阅读模式
proxy_pass是Nginx反向代理常用的一个指令,该指令存在一个小小的细节(坑),用过此命令的可能遇到过,某些时候看似逻辑正确,但访问出现4xx或5xx一类的错误。proxy_pass目标地址中末尾带/和不带/意义有所不同,下面一起来看一下。
例子
假如我访问的地址是http://domain.com/test/api,存在下面的一段反向代理配置:
location ^~ /test/ { #目标路径带有/ proxy_pass https://192.168.2.6/;}
可以看到反向代理的目标地址是https://192.168.2.6/,末尾带有/当访问http://domain.com/test/api是最终会到达源站的https://192.168.2.6/api
假如目标地址是https://192.168.2.6末尾不带/,配置如下:
location ^~ /test/ { #目标路径不带/ proxy_pass https://192.168.2.6;}
当访问http://domain.com/test/api时,最终请求会到达源站的https://192.168.2.6/test/api,所以两者最终去请求源站的时候路径是不同的,需要根据自身业务来判断proxy_pass目标路径是否需要带/,如果不清楚这个规则,要踩坑许久。总结proxy_pass目标路径带有/:此时location中的路径不会追加到目标路径末尾proxy_pass目标路径不带/:此时location中的路径会追加到目标路径末尾再传递给源站
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
银鲜目江探
91
主题
0
回帖
10
积分
新手上路
新手上路, 积分 10, 距离下一级还需 40 积分
新手上路, 积分 10, 距离下一级还需 40 积分
积分
10
加好友
发消息
回复楼主
返回列表
网络技术教程
软件使用教程
Windows教程
Centos教程
Ubuntu教程
Linux其他教程
综合教程
其他教程
其他文档
服务器商家推荐
华夏互联
蓝速云
米图云
全球云
文章
1
苹果电脑MAC系统登录Windows远程桌面
2
Debian拓展硬盘工具。cloud-utils-growpart、xfsprogs
3
安卓Android手机怎么使用V2rayNG?
4
WINDOWS系统电脑怎么使用WINXRAY?
5
notepad++.8.5.7编辑器,代码编辑器
6
DirectX修复工具增强版_V4.3.0.40864版本DLL修复工具C++安装
7
Visual C++运行库合集包完整版VisualCppRedist_AIO_x86_x64
8
ChromeSetup谷歌浏览器一键安装