Nginx隐藏式跳转(浏览器URL跳转后保持不变)
Nginx的隐藏式跳转可以实现将请求跳转到另一个网站的页面,并且浏览器中URL保持不变。Nginx配置中需要使用rewrite规则。下面提供两个示例来说明这种跳转需求的配置:
一、Nginx隐藏式跳转配置示例1
将请求路径https://jb51.net/data/test跳转到https://jb51.com/data/test/test.html页面。
server { listen 443; server_name jb51.net; access_log /data/nginx/logs/jb51.net-access.log main; error_log /data/nginx/logs/jb51.net-error.log; ssl on; ssl_certificate /data/nginx/ssl/jb51.net.crt; ssl_certificate_key /data/nginx/ssl/jb51.net.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; #跳转 } }
更多关于Nginx隐藏式跳转的文章请查看下面的相关链接
相关推荐
-
nginx禁止直接通过ip进行访问并跳转到自定义500页面的操作
直接上配置文件 server { listen 80 default; # 要禁止直接访问ip,需要加上default server_name ~.*; error_page 404 400 402 401 /404.html; # 定义错误状态码对应的html文件 location = /404.html { # 如果使用相对路径一般将文件放在nginx安装目录下的html/下,比如:/usr/local/nginx/html/404.html root html; } error_page
-
Nginx中location匹配以及rewrite重写跳转详解
目录 前言 一.rewrite跳转实现 二.rewrite执行顺序 三.rewrite跳转场景 四.语法与flg标记说明 五.Nginx常用的正则表达式符号 六.location 1.分类 2.常用匹配规则 3.优先级 4.示例 5.匹配规则定义 总结: 前言 rewrite功能就是使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标记实现URL重写以及重定向例如:更换域名后需要保持旧的域名能够转到新的域名上.某网页发生改变需要跳转到新的页面.网站防盗链等等需求 rewrite只能放
-
nginx里的rewrite跳转的实现
一. 新旧域名跳转 作用场景:基于域名的跳转,现在公司旧域名:www.peihua.com 有业务需求要变更,需要使用新域名www.zhenguo.com代替,但是旧域名不能废除.需要跳转到新域名上,而且后面的参数保持不变 配置dns,分别配置www.peihua.com(old)和www.zhenguo.com(new)解析 rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.
-
nginx开启HSTS让浏览器强制跳转HTTPS访问详解
在上一篇文章中我们已经实现了本地node服务使用https访问了,看上一篇文章效果可以看如下: 但是如果我们现在使用http来访问的话,访问不了.如下图所示: 因此我现在首先要做的是使用nginx配置下,当用户在浏览器下输入http请求的时候使用nginx重定向到https下即可.因此我们现在需要做一个简单的nginx重定向功能. 因此在我们的nginx中需要加如下重定向配置: server { listen xxx.abc.com; server_name xxx.abc.com; rewri
-
nginx 解决首页跳转问题详解
nginx和tomcat负载均衡 比如 www.csdn.NET 网站后面有 2个tomcat. 配置负载均衡: upstream csdn-tomcat{ server 192.168.100.101:8080; server 192.168.100.102:8080; } server { listen 80; server_name www.csdn.net csdn.net; index index.html; location / { if ( $request_uri = "/&qu
-
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
在使用tp5时候把它部署到服务器上发现一个奇葩的事情,就是它默认访问config配置的默认页,无论怎么跳转到其他接口都不好使,最终重写了 Nginx 的配置文件解决了这个问题 server{ listen 80; server_name www.XXXX.com; index index.php index.html index.htm; root /var/www/didu; location ~ \.php #原来这个里有"$" 去掉就ok { #fastcgi_pass uni
-
Nginx服务器中HTTP 301跳转到带www的域名的方法
从nginx的官方文档 documentation, 正确的nginx https 301跳转到带www域名方法的方法如下: HTTP 301跳转到带www域名方法 复制代码 代码如下: server { listen 80; server_name example.org; return 301 http://www.example.org$request_uri; } server { list
-
nginx强制使用https访问的方法(http跳转到https)
需求简介 基于nginx搭建了一个https访问的虚拟主机,监听的域名是test.com,但是很多用户不清楚https和http的区别,会很容易敲成http://test.com,这时会报出404错误,所以我需要做基于test.com域名的http向https的强制跳转 我总结了三种方式,跟大家共享一下 nginx的rewrite方法 思路 这应该是大家最容易想到的方法,将所有的http请求通过rewrite重写到https上即可 配置 server { listen 111:80; serve
-
关于nginx没有跳转到upstream地址的解决
前言 今天在nginx碰到一个很奇怪的问题,在前端tomcat跳转页面的时候跳转的是upstream的地址,直接就报404,但是有些页面访问又是正常的. http://tomcat/tomcat-web/account/index 如果直接用内网ip访问是正常的,所以可以判定是nginx的问题,nginx配置如下 upstream tomcat { server 192.168.11.172:8061; server 192.168.11.172:8062; ip_hash; } server
-
详解NGINX访问https跳转到http的解决方法
问题:浏览器打开https://www.jb51.net/aaa.html,然后跳转到http://www.jb51.net/aaa.html 网站架构:用户--https--->nginx代理---http---->tomcat/nginx+php nginx待遇发给后端的请求是http协议,后端程序跳转获取到的协议是http,返回一个redirect(http header中带Location:http://www.jb51.net/aaa.html),浏览器收到location,跳转到了
-
如何通过nginx负载均衡跳转https
web端拷贝证书与密钥 scp -rp -P52113 /application/nginx/conf/key 10.0.0.5:/application/nginx/conf/ 在nginx负载均衡服务端配置 vim /application/nginx/conf/nginx.conf worker_processes 2; error_log logs/error.log; events { worker_connections 65535; } http { include mime.ty
-
Nginx根据不同浏览器语言配置页面跳转的方法
当我们打开很多网站时,可能大家会发现,它会根据你使用的语言自动判断并跳转到不同的语言界面.例如:Google 也就是你用不同的语言,那么输入Google首页就可以自动转向你使用的语言.在这个网络普及的时代,外贸的主要途径一定是网络.也许你的企业网站既有中文版本,同时也有英文版本(如果你的公司有外贸业务).那么他们的网站是怎样实现这个功能呢?下面我们来研究下Web服务器的Header,HTTP_ACCEPT_LANGUAGE是服务器所接收的语言,一般来说是服务器的语言.在网站可以看到,firefo
-
nginx rewrite 实现URL跳转的方法
最近工作中常常要改nginx配置,学习了nginx中rewrite的用法 URL跳转 这里说的URL跳转就是用户在访问一个URL时将其跳转到另一个URL上. 常见的应用场景是让多个域名跳转到同一个URL上,(例如让旧域名跳转到新域名上) 将静态文件请求跳转到cdn上等 根据用户设备跳转到不同站点(pc版,wap版)等. URL跳转可以通过js在页面上设置的window.location实现 也可以通过php设置header来实现 当然也可以用nginx 的 rewrite功能实现 nginx r
-
利用Nginx的map指令实现页面跳转
前言 本文主要介绍了利用Nginx中map指令实现页面跳转的方法,有需要的下面来一起学习学习. 实现方法 在 nginx.conf 的 http 域中添加 map 指令规则,这里包含一个 URL 规则映射文件: # 设置301跳转 map $request_uri $new { include /etc/nginx/redirect.map; } map 指令支持引入一个映射文件的方式,这里 redirect.map 文件内容格式如下: ~^/page/mordern-php$ /page/mo
-
使用Nginx实现301跳转至https的根域名示例代码
基于 SEO 和安全性的考量,需要进行 301 跳转,以下使用 Nginx 作通用处理 实现结果 需要将以下地址都统一跳转到 https 的根域名 https://chanvinxiao.com http://chanvinxiao.com (不带 www 的 http) http://www.chanvinxiao.com (带 www 的 http) https://www.chanvinxiao.com (带 www 的 https) 301 与 302 的区别 301是永久重定向,302
-
Nginx rewrite跳转应用场景详解
应用场景1--基于域名的跳转 公司旧域名www.accp.com ,因业务需求有变更,需要使用新域名www.kgc.com 代替 不能废除旧域名 从旧域名跳转到新域名,且保持其参数不变 实验环境 Linux服务器(192.168.13.144) 测试机win7 1,安装Nginx服务 [root@localhost ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ng
-
详解nginx 301跳转到带www域名方法
前提:在域名解析中添加 domain.com 和 www.domain.com 指向你的主机IP地址 方法1. 打开 nginx.conf 文件找到你的server配置段: server { listen 80; server_name www.domain.com domain.com; if ($host != 'www.domain.com' ) { rewrite ^/(.*)$ http://www.domain.com/$1 permanent ; } 方法2. 在配置文件里面写两个
随机推荐
- 详解Linux(Centos)之安装Nginx及注意事项
- JavaScript中使用typeof运算符需要注意的几个坑
- 10款实用的PHP开源工具
- C++ 之 Asio 库(全面解析)
- ThinkPHP中数据操作案例分析
- JS+CSS实现美化的下拉列表框效果
- gridview的buttonfield获取该行的索引值(实例讲解)
- javascript中递归的两种写法
- 微信小程序 基础知识css样式media标签
- linux中高并发socket最大连接数的优化详解
- 对MySQL日志操作的一些基本命令总结
- Android图片加载利器之Picasso扩展功能
- 给Linux新手[系列之四]
- centos 7中设置tomcat 7为系统服务的方法详解
- C#数值转换-显式数值转换表(参考)
- android dialog边框去除白色边框实现思路及代码
- Android打造属于自己的新闻平台(客户端+服务器)
- Python使用base64模块进行二进制数据编码详解
- 使用vuex缓存数据并优化自己的vuex-cache
- 行转列之SQL SERVER PIVOT与用法详解