| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> nginx之proxy_pass 易踩坑之处 -> 正文阅读 |
|
[系统运维]nginx之proxy_pass 易踩坑之处 |
今天在学习nginx时碰到一个容易踩坑的地方,特意总结一下: 在proxy_pass中配置代理地址 总体分为两类?? ????????1.末尾是否以 / 结尾; ????????2.代理地址中是否包含路径; ????????下面用4种情况来一一验证,访问路径为 http://localhost:8085/ngix/b.html。 验证前准备: ? ? ? ? 1. tomcat访问路径127.0.0.1:8080? ? ?(下图是tomcat下ngix项目) ? ? ? ? 2. nginx访问路径127.0.0.1:8085 ? 1? proxy_pass中不包含路径 ? ? ? ? ? ?1.1 斜杠(/)结尾 ? ? ? ? ? ?location /ngix/ { ? ? ? ? ?? ? ? ? ? ?地址栏中之所以写成http://localhost:8085/ngix/ngix/b.html,? 是因为在nginx代理中不会将匹配上的路径带到请求中,nginx代理实际请求是http://127.0.0.1:8080/b.html,所以需要补上ngix路径,才能访问到tomcat下的ngix项目。 ? ? ? ? ?结论:以 /?结尾,在代理请求中不会携带location匹配的内容,nginx代理到?http://127.0.0.1:8080/ngix/b.html(proxy_pass + 匹配localtion? 路径后的内容)。 ? ? ? ? ? ?1.2 结尾无斜杠(/) ?? ? ? ? ? ?location /ngix/ { ? ? ? ? ? ? ? ? ? ? ? ?结论:结尾无 / ,在代理请求中会携带location匹配的内容,nginx代理到?http://127.0.0.1:8080/ngix/b.html(proxy_pass + 匹配localtion路径的内容? ?或? ?将proxy_pass中的IP和端口? 替换到? url中的IP和端口) 2? proxy_pass中包含路径 ? ? ? ? ? ?2.1?斜杠(/)结尾 ?? ? ? ? ? ?location /ngix/ { ? ? ? ? ? ? 结论:nginx代理到?http://127.0.0.1:8080/ngix/a/b.html(proxy_pass + 匹配localtion路径后的内容) ? ? ? ? ? ?2.2?结尾无斜杠(/) ?? ? ? ? ? location /ngix/ { ?? ? ? ? ? 结论:代理到?http://127.0.0.1:8080/ngix/ab.html(proxy_pass + 匹配localtion路径后的内容),不会在路径上补全斜杠(/) 总结: ? ? ? ? 1)在proxy_pass中以斜杠(/)结尾(有无路径都行),nginx代理请求不会携带localhost匹配的路径。(proxy_pass + 匹配localtion路径后的内容) ? ? ? ? 2)在proxy_pass中无路径且末尾没有斜杠(/),nginx代理请求中会携带location匹配的路径。(proxy_pass + 匹配localtion路径的内容? ?或? ?将proxy_pass中的IP和端口? 替换到? url中的IP和端口) ????????3)在proxy_pass中有路径且末尾没有斜杠(/),nginx代理请求中会携带location匹配的路径。(proxy_pass + 匹配localtion路径后的内容) ? ? 建议在配置nginx代理中,proxy_pass中最好不要添加路径 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 0:04:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |