nginx url转发的一种方式「建议收藏」

nginx url转发的一种方式「建议收藏」比如,以前是http://vampire.com/elasticsearch现在要转到http://vampire.com/search配置如下:server{listen81;server_namelocalhost;location/{roothtml;indexindex.htmlinde

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

比如,以前是 http://vampire.com/elasticsearch
现在要转到http://vampire.com/search
配置如下:

upstream localhost {
    server 127.0.0.1:8080 max_fails=7 fail_timeout=7s;
    server 127.0.0.1:8081 max_fails=7 fail_timeout=7s;
}
server {
    listen       81;
    server_name  localhost;
    location / {
        root html;
        index index.html index.htm;
        proxy_pass http://localhost;
        rewrite /elasticsearch/(.*) /search/$1;#elasticsearch 转发到 sesarch
    }
}

rewrite /elasticsearch/(.*) /search/$1;可以写在location外面,即:

server {
    listen       80; 
    server_name  localhost;

    #charset koi8-r;

    #access_log logs/host.access.log main;

    location / { 
        root   html;
        index  index.html index.htm;
        proxy_pass http://localhost;
    }
    rewrite /elasticsearch/(.*) /search/$1;#elasticsearch 转发到 sesarch
}

解释:

nginx 的 rewrite 语法
语法: rewrite regex replacement flag
默认: none
作用域: server, location, if
此指令根据表达式来更改URI,或修改字符串。
指令根据配置文件中的顺序来执行。

  1. rewrite 正则表达式 替换值 标记

    • 正则表达式 ,此处用于匹配url,此url为相对路径,即:如果你的访问路径是 http://www.vampire.com/elasticsearch/getAllUser?token=xxxxxxxx,那么在此处的值就是:/elasticsearch/getAllUser?token=xxxxxxxx。正则表达式中,一个括号内是一个值,这些值在“替换值”中可以使用 1  99使用,稍后介绍。
    • 替换值 即用此值替换正则表达式匹配的值。此处可以使用相对路径或者绝对路径,即可以写http://www.vampire.com/search/,也可以写/search/
    • 标记 break,last,redirect,permanent 有四个值,见文:Nginx中的rewrite指令(break,last,redirect,permanent)
    • 当在正则表达式中使用/elasticsearch/(.*)后,在替换值中,使用$1可以访问到(.*)中匹配到的值
  2. 它可以在server location 和 if 语句三个位置使用,使用方法相同

  3. if 语句的使用方法,应该是nginx rewrite使用的精髓,也是最复杂的,这里没用到,就先不介绍了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189455.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Makefile missing separator. Stop.怎么解决「建议收藏」

    Makefile missing separator. Stop.怎么解决「建议收藏」现象:在makefile中写入:all:cleancompclean:./clean.cshcomp:./run_tc命令行的背景显示为红色。运行ma

  • Python语言培训_python文件是怎么打开

    Python语言培训_python文件是怎么打开述(最多18字以下试题内容来源由-众课帮-公众号和小程序提供可查询更多的试题答案新鲜尿液有氨臭味变异性心绞痛患者首选药物是A_______ofdependenceonGMOseedsandchemicalfertilizers,pesticides(杀虫剂),andherbicides(除草剂)isthencreatedinordertogrowasinglecrop.如果要对事物发展变化的未来趋势做出描述,例如对五年后技术变革方向进行预测,通常采..

  • log4j2 debug_log4j原理

    log4j2 debug_log4j原理长话短说吧。相信大家已经被Log4j2的重大漏洞刷屏了,估计有不少小伙伴此前为了修bug已经累趴下了。很不幸,我的小老弟小二的SpringBoot项目中恰好用的就是Log4j2,版本特喵的还是2.14.1,在这次漏洞波及的版本范围之内。第一时间从网上得知这个漏洞的消息后,小二吓尿了。赶紧跑过来问老王怎么解决。老王先是给小二提供了一些临时性的建议,比如说:JVM参数添加-Dlog4j2.formatMsgNoLookups=truelog4j2.formatMsgNoLooku

    2022年10月29日
  • 2010年10月51CTO壁纸点评活动获奖名单【已结束】

    2010年10月51CTO壁纸点评活动获奖名单【已结束】

  • Flume和kafka连接测试

    Flume和kafka连接测试Flume的配置文件:(和kafka连接的配置文件)#文件名:kafka.properties#配置内容:分别在linux系统里面建两个文件夹:一个文件夹用于存储配置文件(flumetest),一个文件夹用于存储需要读取的文件(flume)a1.sources=s1a1.channels=c1a1.sinks=k1a1.sources.s1.type=netcata1.s…

  • mysql months_between_months_between()用法「建议收藏」

    mysql months_between_months_between()用法「建议收藏」orcl中months_between()函数用法如下:格式:即MONTHS_BETWEEN(日期1,日期2)例如:selectmonths_between(to_date(‘2018-10-9′,’yyyy-mm-dd’),to_date(‘2017-10-09′,’yyyy-mm-dd’))mfromdual;注:M:月selectmonths_between(to_date(’20…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号