参考https://www.jianshu.com/p/728409ad09a0?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

场景:

域名A下面通过二级目录来匹配不同隐式代理的域名。

server {listen 80;server_name dev-we-show.fonzie.com;location / {#index index.html index.htm;#root html/;#proxy_next_upstream http_502 http_504 error timeout invalid_header;proxy_set_header Host  $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://dev_b;expires      -1;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 300;#rewrite (.*)/wapindex(.*) /vperson$1/wapindex$2;#rewrite (.*)/image(.*) /vperson$1/image$2;#rewrite (.*)/js(.*) /vperson$1/js$2;
}location /vperson/ {proxy_pass https://www.vperson.com/;}}

通过域名 dev-we-show.fonzie.com/vperson/,nginx 会匹配到反向代理为 https://www.vperson.com/ 的域名上去,因为使用的是绝对引用,这里如果使用相对应用会使 https://www.vperson.com/ 域名变成https://www.vperson.com/vperson/ 最终访问失败。https://www.vperson.com 的首页为:https://vperson.com/wapindex. 但是域名dev-we-show.fonzie.com的根下面没有路径wapindex。

所以这里需要使用重定向进行替换,匹配路径为/,打开上面的井号内容,如下:

server {listen 80;server_name dev-we-show.fonzie.com;location / {#index index.html index.htm;#root html/;#proxy_next_upstream http_502 http_504 error timeout invalid_header;proxy_set_header Host  $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://dev_b;expires      -1;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 300;rewrite (.*)/wapindex(.*) /vperson$1/wapindex$2;rewrite (.*)/image(.*) /vperson$1/image$2;rewrite (.*)/js(.*) /vperson$1/js$2;
}location /vperson/ {proxy_pass https://www.vperson.com/;}}

这样一来在反向代理的时候,用户首先通过 dev-we-show.fonzie.com/vperson/ 访问这台nginx,再通过这台nginx反向代理到 https://www.vperson.com/, 但这个跳转是隐式的,所以在浏览器的地址栏还是 dev-we-show.fonzie.com,问题在于 dev-we-show.fonzie.com 下面并没有/wapindex的路径,所以我们需要在根/下面添加rewrite通过正则匹配修改,并添加以后路径,然他回去的时候依然是走 dev-we-show.fonzie.com/vperson/ 的路径,而不是 dev-we-show.fonzie.com 的路径。

链接:https://www.jianshu.com/p/728409ad09a0
来源:简书

Nginx二级目录反向代理网站相关推荐

  1. Apache:二级目录反向代理 – 实现不同端口服务在同一网站的访问

    应用背景:在同一服务器网页上,通过不同目录访问内网的不同服务器. 开启相应模块:虚拟主机和代理模块 为了方便操作,最好启用虚拟主机来配置: # 在httpd.conf中取消注释以下代码LoadModu ...

  2. Nginx配置二级目录反向代理本机不同端口

    前序 最近在家里的服务器上装了一大堆的服务器软件,大多数都需要Web网站访问的,比如:Gitlab.Apache.Jenkins等等.然而又因为是不同的应用,需要占用不同的端口,每次访问起来都需要在I ...

  3. 什么是泛目录?二级目录反向代理怎么做?

    现在很多人都想做泛目录排名,关于很多新手而言,会觉得泛目录排名是一个高深的技能,事实上只要一个程序就能够完成泛目录排名,那么什么是泛目录?这个问题分红两个部分: 1:什么是二级目录和泛目录? 2:这儿 ...

  4. Nginx通过location反向代理网站找不到CSS,JS及图片问题解决方案

    通过location划分来反向代理多个网站,意思是使用同一个域下(协议.域名.端口均相同),通过路径的划分来代理不同的网站/服务. 例如:a网站为www.test.com/a/,b网站为www.tes ...

  5. 泛目录程序如何设置目录反向代理(Nginx反向代理泛目录、目录、整站方法 nginx反向代理配置)

    这里以宝塔面板为例,图形界面很友好,适合小白. 我自己的博客也有这篇原创文章,购买泛目录和技术参考请前往此贴: https://www.waytomilky.com/archives/738.html ...

  6. Nginx(三):反向代理

    我们本篇将通过两个实例进行对Nginx反向代理的学习. 1.概念基础 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就是可以访问.我们只需要将请求发送到反向代理服务器上,有反向代理服务 ...

  7. 分布式项目-Nginx安装(反向代理)

    可以根据parent_id来查询分类的列表 服务器上的图片是如果管理的? 1.如果是分布式环境引用会存在问题 2.图片的下载也会给服务器增加压力 3.如果存在高并发的话,就需要增加tomcat服务器, ...

  8. Nginx总结(反向代理、负载均衡、动静分离)篇

    一.Nginx简介 什么是Nginx Nginx ("engine x")是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上ngimx,的并发能力确实在同 ...

  9. docker部署nginx 并实现反向代理 配置多个域名多个端口

    文章目录 docker部署nginx 并实现反向代理 配置多个域名多个端口 1. 安装nginx: 2. 以终端的方式打开镜像容器 default.conf: nginx.conf: 3. 在linu ...

  10. Linux中 Nginx+uwsgi部署flask项目 Nginx负载均衡 反向代理

    Nginx是一款自由的.开源的.高性能HTTP服务器和反向代理服务器. 轻量级,同样起web服务,比 apache占用更少的内存及资源 抗并发, nginx处理请求是异步非阻塞的,而 apache则是 ...

最新文章

  1. python如何编程-编程零基础应当如何开始学习 Python?
  2. 怎么恢复初始状态_汽车多少公里应该清洗节气门,不洗会有隐患吗?看看老司机怎么说...
  3. [?]Oracle 10g sqlplus 的Bug?
  4. SAP C4C Lead明细页面里Account字段的绑定路径
  5. Metaspliot 控制终端利用Samba漏洞渗透
  6. mybatis学习(20):模糊查询$
  7. webpack Plugin常用 optimization splitChunks UglifyJsPlugin sourceMap
  8. kafka消息处理失败后如何处理_面试题:Kafka 会不会丢消息?怎么处理的?
  9. 解决ubuntu下修改环境变量profile后报错,很多常用命令都用不了
  10. matlab的findpeak 极点查找
  11. linux apache压缩包安装目录,源码包安装Apache服务
  12. 谷歌浏览器怎么下载视频 Google Chrome下载视频方法
  13. ArcGIS计算地形湿度指数
  14. EAS BOS序时簿界面排序
  15. 树莓派4B(Ubuntu20.04)使用LCD1602液晶屏开机自动显示IP及其他信息
  16. 互联网入口之战:浏览器战争
  17. Java+Axis WebService接口开发实例
  18. 51单片机设计简易计算机原理,基于AT89C51单片机简易计算器的设计(DOC).docx
  19. Oracle - Oracle系统服务
  20. 【书评:Oracle查询优化改写】第四章

热门文章

  1. Apache访问localhost页面403Forbidden
  2. c++之友元函数和友元类
  3. Android LiveData组件分析
  4. 力扣Java编译器_力扣(LeetCode)位1的个数 个人题解
  5. 知识星球限时优惠活动,速进!
  6. 历时半载,我的新课上线了
  7. python基础篇——异常
  8. java怎么根据编号修改数据类型_Java中怎么根据不同的输入数据类型调用不同的方法呢?...
  9. linux debian安装ssh,Ubuntu Linux上安装SSH和vsFTPd的方法
  10. java增删改查控制台_在控制台中输入增删改查 (初学者)