当前位置: 首页 > news >正文

Nginx proxy pass路由转发简单用法

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一,在nginx中配置proxy_pass时的加不加/的问题
要注意proxy_pass后的url最后的/
当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走
如果没有/,则会把匹配的路径部分也给代理走
例:
    location ^~ /static_js/
    {
    proxy_cache js_cache;
    proxy_set_header Host js.test.com;
    proxy_pass http://js.test.com/;
    }

如上面的配置,如果请求的url是http://servername/static_js/test.html 会被代理成http://js.test.com/test.html
而如果这么配置
例:
    location ^~ /static_js/
    {
    proxy_cache js_cache;
    proxy_set_header Host js.test.com;
    proxy_pass http://js.test.com;
    } 
如上面的配置,如果请求的url是http://servername/static_js/test.html
则会被代理到http://js.test.com/static_js/test.htm

二,关于proxy_pass配置的uri问题

你不想nginx对你的URI请求有任何形式的修改,那么,proxy_pass的配置中就不应该有任何URI部分。

举个例子,nginx服务器IP为10.0.0.20,它的配置不含URI:
location /firstcond/ {
        proxy_pass http://10.0.0.30:90;
}
那么,
原:http://10.0.0.20/first/second/test.html
转:http://10.0.0.30:90/first/second/test.html

如果配置成含URI:
location /firstcond/ {
proxy_pass http://10.0.0.30:90/myuri;
}
那么,
原: http://10.0.0.20/first/second/test.html
转:http://10.0.0.30:90/myuri/test.html
简单地说,配置了URI之后,跳转行为可能会令你感到莫名其妙。

注意:

1, 假如是要转发到10.10.10.10:5601时, 若链接末尾不带/时, 若访问test.com/aa/bb.html, 会转发成proxy_pass http://10.10.10.10:5601/aa/bb.html, 而带/时, 就转发成http://10.10.10.10:5601/bb.html

2, 假如10.10.10.10:5601是有认证的, 则访问test.com时, 也需要认证, 反正看成访问test.com的效果就等同于10.10.10.10:5601的效果即可

转载于:https://my.oschina.net/huhaoren/blog/1857957

相关文章:

  • [译]D3.js 之 d3-selection 原理
  • 高并发和大流量解决方案--数据库缓存
  • js将日期格式转换为YYYY-MM-DD HH:MM:SS
  • 给 smox 加上翅膀,不断进步的 react 状态管理
  • expect(spawn) 自动化git提交和scp拷贝---centos(linux)
  • new和delete
  • 论文笔记系列-Neural Architecture Search With Reinforcement Learning
  • Linux iptables命令
  • Dubbo2.7源码分析-Dubbo是如何整合spring-framework的
  • Mozilla推出兼容iOS的Face ID密码管理器Firefox Lockbox
  • Shareinstall——精确监测与推广APP的完美神器!
  • OpenJ_Bailian 7617 输出前k大的数
  • Session的save()、update()、merge()、lock()、saveOrUpdate()和persist()方法分别是做什么的?有什么区别?...
  • CSS选取第几个标签元素:nth-child、first-child、last-child
  • Kotlin 1.3 新特性抢先看,协程已稳定并将向后兼容
  • JS 中的深拷贝与浅拷贝
  • Android 控件背景颜色处理
  • JavaScript-Array类型
  • Java知识点总结(JavaIO-打印流)
  • js对象的深浅拷贝
  • Nacos系列:Nacos的Java SDK使用
  • React-生命周期杂记
  • Redis字符串类型内部编码剖析
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 简析gRPC client 连接管理
  • 理清楚Vue的结构
  • 码农张的Bug人生 - 初来乍到
  • 前端面试之闭包
  • 数组的操作
  • 网页视频流m3u8/ts视频下载
  • 微服务框架lagom
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 中文输入法与React文本输入框的问题与解决方案
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 第二十章:异步和文件I/O.(二十三)
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #大学#套接字
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (+4)2.2UML建模图
  • (7)STL算法之交换赋值
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (三)uboot源码分析
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (一)kafka实战——kafka源码编译启动
  • (一)基于IDEA的JAVA基础1
  • ../depcomp: line 571: exec: g++: not found
  • .net6使用Sejil可视化日志
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • ??eclipse的安装配置问题!??