京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Nginx反向署理之proxy_redirect指令的实现

2024-11-3 13:10| 发布者: c2688| 查看: 51| 评论: 0

摘要: proxy_redirect 该指令是用来重置头信息中的"Location"和"Refresh"的值。 语法: [code]proxy_redirect redirect replacement; proxy_redirect default; proxy_redirect off;[/code] 默认值: proxy_redirect defau

proxy_redirect

该指令是用来重置头信息中的"Location"和"Refresh"的值。

语法:

[code]proxy_redirect redirect replacement; proxy_redirect default; proxy_redirect off;[/code]

默认值:

proxy_redirect default;

编写位置:它可以存储在http、server、location内里

如今客户端向署理服务器发送哀求,署理服务器把这个哀求转发到服务端

图片

服务端,这里设置的是146服务器,署理服务器这里设置的是133的电脑

图片

服务端[192.168.200.146](终极吸取前端哀求的那个)

[code]server { listen 8081; server_name localhost; if (!-f $request_filename){ return 302 http://192.168.200.146; } }[/code]

署理服务端[192.168.200.133]

[code] server { listen 8081; server_name localhost; location / { proxy_pass http://192.168.200.146:8081/; proxy_redirect http://192.168.200.146 http://192.168.200.133; } }[/code]

先在146的服务器(终极吸取前端哀求的那个)举行相应的配置修改

第一步: 先使用vim ../conf/nginx.conf中

图片

第二步:在8081端口下,配置location路径

图片

第三步:检验语法,重载配置

图片

第四步:这时通过192.168.200.146:8081可以或许看到页面了

图片

第五步:找到署理服务器的位置,

图片

第六步:在署理服务器的位置,添加server块,映射到146:8081端口的位置

图片

访问133的路径,终极显示146的结果,说明他背后访问的是146的资源

图片

但是这里却出现了一种环境,如果在访问

192.168.200.133:8081/abc.html,访问/后面,且目次下面没有对应的文件却出现了404 Not Found如许的错误,这时候在想,如果没有静态资源,我还想将页面展示出来

图片

先到146服务器的位置(吸取服务器终极数据的那台服务器)

来到146服务器的地方,打开配置文件

图片

给他添加if判定条件,判定是否存在有该文件,如果没有,return,继续重载到页面,默认跳转到index.html页面,它会自行举行匹配

图片

检验语法,重载配置

图片

如今把abc访问革新一次,访问的就是146的页面 

图片

为什么之前的abc酿成了192.168s.200.146了呢?

使用curl -I xxxx可以检察具体的访问页面,访问终极结果爆出了302

图片

出现302的缘故原由是由于if访问条件不存在,出现了一个302重定向地点

图片

应用常见是客户端只能知道署理服务器的地点,而署理服务器再能将哀求转发到服务端

图片

同时也存在了一个题目,客户端是不知道终极服务端的IP地点的,想要客户端知道署理服务器的地点,末了要用到proxy_redirect

图片

该指令是用来重置头信息中的"Location"和"Refresh"的值,编写在署理服务器上,将客户端的指令发送给终极服务器

使用proxy_redirect的具体配置,打开配置资料,proxy_redirect怎样举行设置,有三种方式,编写的位置在http、server、location三大块当中

第一种方式,proxy_redirect redirect replacement;(redirect是location的值)replacement(是替换的值)

图片

具体配置内容

图片

检验语法,重载配置

图片

再访问abc.html文件的时候,找不到静态资源,同时也根据了上文的配置跳转到133的服务器上了

图片

终极跳转到146的映射文件,使用proxy_pass中

图片

检验语法,重载配置

图片

第一次访问abc.html页面,跳转失败,终极返回的是192.168.200.133页面,这里初步设置是由于缓存影响的,没有跳转

图片

打开浏览器设置,将缓存给删除一下

图片

缓存删除之后,访问abc.html页面,如今终极映射的内容,访问了146的地方了

图片

如今location,已经乐成的映射到了133的地点当中了

图片

该指令的几组选项

proxy_redirect redirect replacement;

[code]redirect:目标,Location的值 replacement:要替换的[/code]

proxy_redirect default;​​​​​​​

[code]default;将location块的uri变量作为replacement,将proxy_pass变量作为redirect举行替换[/code]

proxy_redirect off;

[code]关闭proxy_redirect的功能[/code]

到此这篇关于Nginx反向署理之proxy_redirect指令的实现的文章就介绍到这了,更多相干Nginx proxy_redirect内容请搜刮脚本之家从前的文章或继续浏览下面的相干文章希望各人以后多多支持脚本之家!


来源:https://www.jb51.net/server/326097fp1.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-1 18:17 , Processed in 0.036048 second(s), 18 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部