大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
为什么需要正向代理
如果我们的服务部署在公司内网环境,不能直接访问互联网服务,就需要通过可以访问互联网的代理服务器来实现访问互联网的服务。此处我们使用Nginx作为代理服务器。
案例
- 互联网上的接口:https://baidu.com/api/aaa
- 代理服务器Nginx的地址和监听端口为192.168.1.100:11100
- 要实现通过访问http://192.168.1.100:11100/proxy_baidu/api/aaa来实现访问https://baidu.com/api/aaa
配置方式
第一种
监听路径末尾加斜杠,proxy_pass后加斜杠
//
location /proxy_baidu/ {
proxy_pass https://baidu.com/;
}
此时访问http://192.168.1.100:11100/proxy_baidu/api/aaa,
实际会被代理到https://baidu.com/api/aaa
此情况不会发生重定向
第二种
监听路径末尾加斜杠,proxy_pass后不加斜杠
//
location /proxy_baidu/ {
proxy_pass https://baidu.com;
}
此时访问http://192.168.1.100:11100/proxy_baidu/api/aaa,
实际会被代理到https://baidu.com/proxy_baidu/api/aaa
此情况下会发生302重定向。
第三种
监听路径末尾不加斜杠,proxy_pass后加斜杠
//
location /proxy_baidu {
proxy_pass https://baidu.com/;
}
此时访问http://192.168.1.100:11100/proxy_baidu/api/aaa,
实际会被代理到https://baidu.com/api/aaa
此情况下会发生302重定向。
第四种
监听路径末尾不加斜杠,proxy_pass后不加斜杠
//
location /proxy_baidu {
proxy_pass https://baidu.com;
}
此时访问http://192.168.1.100:11100/proxy_baidu/api/aaa,
实际会被代理到https://baidu.com/proxy_baidu/api/aaa
此情况下会发生302重定向。
总结
proxy_pass 的地址末尾加斜杠,请求地址中的监听路径之前(含)都会被proxy_pass地址全替换掉。
proxy_pass 的地址末尾不加斜杠,则proxy_pass只会替换掉请求地址中的IP+端口。
location 后路径的末尾加斜杠,则只监听请求地址中路径全匹配的地址(全匹配)。
location 后路径的末尾不加斜杠,则监听请求地址中以location后的路径开头的地址(模糊匹配)。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179071.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...