在日常运维中经常会碰到需要从一个链接跳转到另一个链接的情况,此类需求分为两种情况,一种是浏览器url变,一种是浏览器url不变。


一、Url变,使用nginx rewirte模块

rewrite是实现URL重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement,结尾是flag标记。


flag标记分为下面四种:

last #本条规则匹配完成后,继续向下匹配新的location URI规则

break #本条规则匹配完成即终止,不再匹配后面的任何规则

redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址

permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址

常使用301 来实现url地址跳转功能。


二、URL,地址不变,使用location 和rewrite模块均可

lcaotion 的proxy_pass模块;或者使用rewrite的last和break均可以上线此功能。


(1)、配置

将请求路径https://api.gwhome.com/data/app跳转到https://images.com/data/app/gw.html页面。

server {

    listen       443;

    server_name  gwhome

    access_log  /data/nginx/logs/gwhome-access.log main;

    error_log  /data/nginx/logs/gwhome-error.log;

  

    ssl on;

    ssl_certificate /data/nginx/ssl/gwhome.crt;

    ssl_certificate_key /data/nginx/ssl/gwhome.key;

    ssl_session_timeout 5m;

  

    location = /data/app{

        rewrite /data/app /data/app/gw.html break;

        proxy_pass https://images.com;

    }

} 


(2)、配置

将访问192.168.210.85:8190/gwgou/order/commdany的请求跳转到192.164.60.89:8089/order/commdany

server {

       listen 8190;

       server_name 192.168.210.85;

       index   index.html index.php index.htm;

       location ~* ^/gwgou/order/commdany {

                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/commdany break; 

                proxy_pass http://192.164.60.89:8089; 

       }

}


推荐阅读

Nginx访问控制

Kafka 集群部署

Redis搭建哨兵

mysqldump+binlog恢复被删除的数据

完整的二进制安装Kubernetes高可用集群



©著作权归作者所有:来自51CTO博客作者mob604756e834f7的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 基于web的图书管理系统设计与实现(附演示地址)
  2. SQL基础知识V2——JOIN连接
  3. SQL基础知识V2——NULL
  4. 华为交换机配置基于IP地址划分VLAN
  5. 华为ENSP模拟器的使用-在web界面登陆防火墙的操作步骤
  6. 华为路由交换技术:VRRP-虚拟网关冗余协议配置
  7. 华为配置基于MAC地址划分VLAN
  8. 使用graylog2收集dhcp日志
  9. SQL的各种连接Join详解,都需要熟练掌握!

随机推荐

  1. Android Studio获取数字签名(SHA1)的方法
  2. Android Volley:使用方法总结及实例解析
  3. Android之用Handler实现主线程和子线程互
  4. Android 歌词Lrc显示 自定义View
  5. Android 事件输入系统整体框架
  6. Android图片缓存处理
  7. 使用AndServer在Android上搭建Web服务器
  8. Android Studio精彩案例(一)《ActionBar
  9. [置顶] 【Android开发】问答机器
  10. 关于Weex你需要知道的一切