Nginx隐藏式跳转(浏览器URL跳转后保持不变)


Posted in Servers onApril 07, 2022

Nginx的隐藏式跳转可以实现将请求跳转到另一个网站的页面,并且浏览器中URL保持不变。Nginx配置中需要使用rewrite规则。下面提供两个示例来说明这种跳转需求的配置:

一、Nginx隐藏式跳转配置示例1

将请求路径https://3water.com/data/test跳转到https://jb51.com/data/test/test.html页面。

server {
    listen       443;
    server_name  3water.com;
    access_log  /data/nginx/logs/3water.com-access.log main;
    error_log  /data/nginx/logs/3water.com-error.log;
  
    ssl on;
    ssl_certificate /data/nginx/ssl/3water.com.crt;
    ssl_certificate_key /data/nginx/ssl/3water.com.key;
    ssl_session_timeout 5m;
  
    location = /data/test {
        rewrite /data/test /data/test/test.html break;
        proxy_pass https://jb51.com;
    }
} 

二、Nginx隐藏式跳转配置示例2

将访问172.16.60.16:8082/m2/order/secretRecording的请求跳转到172.16.60.28:8089/order/secretRecording

server {
       listen 8082;
       server_name 172.16.60.16;
       index   index.html index.php index.htm;
        
       location ~* ^/m2/order/secretRecording {
                proxy_next_upstream error timeout http_503 http_504 http_502;
                proxy_connect_timeout 500s;
                proxy_read_timeout 500s;
                proxy_send_timeout 500s;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                rewrite  ^(.*)$  /order/secretRecording break;  #先改写URI地址
                proxy_pass http://172.16.60.28:8089;  #跳转
       }
}
Servers 相关文章推荐
Nginx中break与last的区别详析
Mar 31 Servers
Nginx开启Brotli压缩算法实现过程详解
Mar 31 Servers
fastdfs+nginx集群搭建的实现
Mar 31 Servers
nginx实现动静分离的方法示例
Nov 07 Servers
使用 Apache 反向代理的设置技巧
Jan 18 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
Windows Server 2012 修改远程默认端口3389的方法
Apr 28 Servers
Windows Server 2012 R2 磁盘分区教程
Apr 29 Servers
使用Apache Camel表达REST服务的方法
Jun 10 Servers
vscode内网访问服务器的方法
Jun 28 Servers
nginx之内存池的实现
Jun 28 Servers
Nginx动静分离配置实现与说明
Nginx禁止ip访问或非法域名访问
Apr 07 #Servers
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
Apr 07 #Servers
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
Apr 07 #Servers
Linux、ubuntu系统下查看显卡型号、显卡信息详解
Nginx速查手册及常见问题
从零开始在Centos7上部署SpringBoot项目
You might like
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
javascript 对象的定义方法
2007/01/10 Javascript
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
JS与框架页的操作代码
2010/01/17 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
node.js中的fs.fchown方法使用说明
2014/12/16 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
js仿360开机效果
2019/12/26 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
Python之py2exe打包工具详解
2017/06/14 Python
基于Django模板中的数字自增(详解)
2017/09/05 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
Python编程中类与类的关系详解
2019/08/08 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
python 如何停止一个死循环的线程
2020/11/24 Python
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
母亲追悼会答谢词
2014/01/27 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
小学校园广播稿
2015/08/18 职场文书
详解python字符串驻留技术
2021/05/21 Python
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python