网站首页 > 教程文章 正文
proxy_redirect
该指令是用来重置头信息中的"Location"和"Refresh"的值。
语法:
proxy_redirect redirect replacement;
proxy_redirect default;
proxy_redirect off;
默认值:
proxy_redirect default;
编写位置:它可以存储在http、server、location里面
现在客户端向代理服务器发送请求,代理服务器把这个请求转发到服务端
服务端,这里设置的是146服务器,代理服务器这里设置的是133的电脑
服务端[192.168.200.146](最终接收前端请求的那个)
server {
listen 8081;
server_name localhost;
if (!-f $request_filename){
return 302 http://192.168.200.146;
}
}
代理服务端[192.168.200.133]
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;
}
}
先在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;
redirect:目标,Location的值
replacement:要替换的
proxy_redirect default;
default;
将location块的uri变量作为replacement,
将proxy_pass变量作为redirect进行替换
proxy_redirect off;
关闭proxy_redirect的功能
- 上一篇: 内网部署YAPI
- 下一篇: 网站会出现抓取失败的原因
猜你喜欢
- 2025-05-16 2021年末,写给计算机系大四学弟学妹!超级干货(建议收藏)
- 2025-05-16 破解HLS低延时的密匙: HLS+技术解密(一)
- 2025-05-16 Spring Security 简单教程以及实现完全前后端分离
- 2025-05-16 揭秘黑产“箱子后门”背后的产业链
- 2025-05-16 seo经验:交换友情链接终极技巧大全
- 2025-05-16 HTTP与HTTPS的区别,详细介绍
- 2025-05-16 「黑客编程」手把手教你编写POC
- 2025-05-16 Moz专家:如何将五个网站迁移至一个新域名
- 2025-05-16 想做好SEO?你必须掌握的10个基础知识上集
- 2025-05-16 想学渗透学不会?手把手教你渗透实战流程
- 05-162021年末,写给计算机系大四学弟学妹!超级干货(建议收藏)
- 05-16破解HLS低延时的密匙: HLS+技术解密(一)
- 05-16Spring Security 简单教程以及实现完全前后端分离
- 05-16揭秘黑产“箱子后门”背后的产业链
- 05-16seo经验:交换友情链接终极技巧大全
- 05-16HTTP与HTTPS的区别,详细介绍
- 05-16「黑客编程」手把手教你编写POC
- 05-16Moz专家:如何将五个网站迁移至一个新域名
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)