nginx反向代理URL替换⽅案-项⽬替换
--项⽬替换⽅案
server {
listen 90;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#/data/manager可以存放静态页⾯
root /data/manager;
index index.html index.htm;
正则表达式获取括号内容}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
--解密地址变成加密地址
-- 接⼝地址完全替换
--接⼝地址替换--精简版
-
-参考代码:
nginx 反向代理 URL替换⽅案
1.直接替换location 匹配部分
1.proxy_pass的⽬标地址,默认不带/,表⽰只代理域名,url和参数部分不会变(把请求的path拼接到proxy_pass⽬标域名之后作为代理的URL)
2.如果在⽬标地址后增加/,则表⽰把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass⽬标地址
如上两个匹配成功后,实际代理的⽬标url分别是
2.使⽤nginx 的rewrite 模块
rewrite是实现URL重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement,结尾是flag标记。
rewrite <regex> <replacement> [flag];
关键字正则替代内容 flag标记
关键字:其中关键字error_log不能改变
正则:perl兼容正则表达式语句进⾏规则匹配
替代内容:将正则匹配的内容替换成replacement
flag标记:rewrite⽀持的flag标记
flag标记说明:
last #本条规则匹配完成后,继续向下匹配新的location URI规则
break #本条规则匹配完成即终⽌,不再匹配后⾯的任何规则
redirect #返回302临时重定向,浏览器地址会显⽰跳转后的URL地址
permanent #返回301永久重定向,浏览器地址栏会显⽰跳转后的URL地址
把到本服务的所有请求转发到www.summer
rewrite ^/system/(.*) /$1 break;
说明:
rewrite为固定关键字,表⽰开始进⾏rewrite匹配规则
regex部分是 ^/(.*) ,这是⼀个正则表达式,匹配完整的域名和后⾯的路径地址
描述
\
将后⾯接着的字符标记为⼀个特殊字符或⼀个原义字符或⼀个向后引⽤。如“\n”匹配⼀个换⾏符,⽽“\$”则匹配“$”
^
匹配输⼊字符串的起始位置
$
匹配输⼊字符串的结束位置
*
匹配前⾯的字符零次或多次。如“ol*”能匹配“o”及“ol”、“oll”
+
匹配前⾯的字符⼀次或多次。如“ol+”能匹配“ol”及“oll”、“oll”,但不能匹配“o”
匹配前⾯的字符零次或⼀次,例如“do(es)?”能匹配“do”或者“does”,"?"等效于"{0,1}"
.
匹配除“\n”之外的任何单个字符,若要匹配包括“\n”在内的任意字符,请使⽤诸如“[.\n]”之类的模式。
(pattern)
匹配括号内pattern并可以在后⾯获取对应的匹配,常⽤$0...$9属性获取⼩括号中的匹配内容,要匹配圆括号字符需要ContentContent rewrite 企业应⽤场景
Nginx的rewrite功能在企业⾥应⽤⾮常⼴泛:
u 可以调整⽤户浏览的URL,看起来更规范,合乎开发及产品⼈员的需求。
u 为了让搜索引擎搜录⽹站内容及⽤户体验更好,企业会将动态URL地址伪装成静态地址提供服务。
u ⽹址换新域名后,让旧的访问跳转到新的域名上。例如,访问京东的360buy会跳转到jd
u 根据特殊变量、⽬录、客户端的信息进⾏URL调整等
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论