zoukankan      html  css  js  c++  java
  • nginx的rewrite

    nginx服务的rewrite

    nginx后端服务的指令

    1)upstream指令 :设置后端服务器组的主要指令
    Upstream name {}

    2)server指令:用于设定组内的服务器
    3)Ip_hash指令:
    该指令用于实现会话保持功能,将某个客户端段请求多次重定向到组内同一台服务器上,保证客户端与服务器之间建立稳定的会话,只有当该服务器处于无效的时候,客户端的请求才会被下一个服务器接收
    例子:

    upstream backend {
            ip_hash
            server server1.example.com
            server server2.example.com
    }
    

    rewrite重写

    Rewrite 主要的功能就是实现URL的重写,Nginx的Rewrite规则采用Pcre,perl兼容正则表达式的语法规则匹配,如果需要Nginx的Rewrite功能,在编译Nginx之前,需要编译安装PCRE库。
    通过Rewrite规则,可以实现规范的URL、根据变量来做URL转向及选择配置。
    1)地址转发和地址重写
    地址转发后,客户端浏览器的地址显示是不变的,而地址重写后客户端浏览器地址栏的地址会转变为服务器确定的位置;
    在一次地址转发的过程中,只产生一次网络请求,而地址转写的过程中一般会产生两次请求;
    2)rewrire指令
    该指令通过正则表达式的使用用来改变URI。可以同时存在一个或者多个指令,按顺序依次对URL进行匹配和处理
    例子: rewrite myweb,com http://neweb.com/premanent
    3)rewrite的使用
    域名跳转
    例1:

    server
    { 
    	listen 80;
    	server_name jump.myweb.com
    	rewrite ^/ http://jump.myweb.info/;
    }
    

    客户端访问http://jump.myweb.name时URL将被nginx服务器重写为http://jump.myweb.info/,客户端得到的数据实际上也是有http://jump:myweb.info相应的

    例2)

    server {
    	listen 80
    	server_name jump.myweb.com jump.myweb.info;
    	if ($host ~ myweb.info) ##正则表达式中的.要用转义
    		{
    		rewrite ^(.*) http://jump.myweb.name$1 permanent;#多级域名跳转
    	}
    

    客户端访问http://jump.myweb.info/reqsoure的时候。URL被重写为http://jump.myweb.name/reqsource,客户端的数据实际上由http://jump.myweb.name响应的。
    例3)

    server {
    	listen 80
    	server_name jump1.myweb.com
    	if ($http_host ~* ^(.*).myweb.name$)
    		{
    		rewrite ^(.*) http://jump.myweb.name$1
    		break
    		}
    
    }
    

    客户端访问http://jump.myweb.name/reqsource时,URL将被重写http:/jump.myweb.name/reqsource,实现了三级域名跳转

  • 相关阅读:
    base64 转blob,base64 转文件
    下载附件时防止连点
    windows更新失败
    ValidationError: webpack Dev Server Invalid Options
    导入,导出
    软件的结构
    VueRouter(一)
    根据IP判断所在地区
    phpcms v9 非超级管理员 发布不了内容的解决办法
    VIM 快捷键
  • 原文地址:https://www.cnblogs.com/hanfei-1005/p/5696863.html
Copyright © 2011-2022 走看看