1. 首页
  2. 技术知识

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

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


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

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

  1. server {
  2.     listen       443;
  3.     server_name  jb51.net;
  4.     access_log  /data/nginx/logs/jb51.net-access.log main;
  5.     error_log  /data/nginx/logs/jb51.net-error.log;
  6.     ssl on;
  7.     ssl_certificate /data/nginx/ssl/jb51.net.crt;
  8.     ssl_certificate_key /data/nginx/ssl/jb51.net.key;
  9.     ssl_session_timeout 5m;
  10.     location = /data/test {
  11.         rewrite /data/test /data/test/test.html break;
  12.         proxy_pass https://jb51.com;
  13.     }
  14. } 

复制代码
二、Nginx隐藏式跳转配置示例2

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

  1. server {
  2.        listen 8082;
  3.        server_name 172.16.60.16;
  4.        index   index.html index.php index.htm;
  5.        location ~* ^/m2/order/secretRecording {
  6.                 proxy_next_upstream error timeout http_503 http_504 http_502;
  7.                 proxy_connect_timeout 500s;
  8.                 proxy_read_timeout 500s;
  9.                 proxy_send_timeout 500s;
  10.                 proxy_set_header Host $http_host;
  11.                 proxy_set_header X-Real-IP $remote_addr;
  12.                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  13.                 rewrite  ^(.*)$  /order/secretRecording break;  #先改写URI地址
  14.                 proxy_pass http://172.16.60.28:8089;  #跳转
  15.        }
  16. }

复制代码 更多关于
Nginx隐藏式跳转的文章请查看下面的相关链接

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/108163.html

联系我们