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使用的精髓,也是最复杂的,这里没用到,就先不介绍了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 谷歌浏览器搜索使用指南[通俗易懂]

    谷歌浏览器搜索使用指南[通俗易懂]谷歌浏览器使用指南下载谷歌浏览器使用浏览器时遇到的问题对谷歌浏览器进行配置下载谷歌浏览器可以在谷歌浏览器官网进行下载,网址:https://www.google.cn/intl/zh-CN/chrome/在腾讯电脑管家,进行下载使用浏览器时遇到的问题搜索引擎我们这里先选用百度搜索引擎,如果想使用其他搜索引擎,更换其他的网址即可。1.当你使用谷歌浏览器时你会发现,根本上不了网2.这个时候你不要惊慌,自己在网址框中手动输入:https://www.baidu.com/即可进行上网对谷

    2022年9月10日
    3
  • VS Code关闭eslint校验

    VS Code关闭eslint校验一、产生原因:在编写vue代码的时候,一直因为格式问题报错,按照要求改了格式,虽不报错,但当选择格式化文档,就会再次报错,所以需要关闭格式校验功能。二、解决办法:①:若报错,可将鼠标放在报错位置,按照提示内容,单机右键,选择快速恢复;但后期影响继续存在②:关闭校验功能步骤:1.点击左下角的设置图标并选择设置2.搜索eslint,如图并勾选可取消报错:3.重启VSCode,编译时不再报错…

    2022年6月11日
    68
  • 网页中部分非主流代码[通俗易懂]

    网页中部分非主流代码[通俗易懂]一:颜色代码0000000000200000400000600000800000a00000c00000ff…

    2022年7月2日
    47
  • 关闭端口命令[通俗易懂]

    关闭端口命令[通俗易懂]

    2022年7月20日
    12
  • 如何在国外注册一家公司(免费公司注册)

    随着世界经济一体化的发展,商业越来越呈现跨国界的趋势,注册海外公司已经成为中大型企业的必选之路。举一个很简单的例子:一个企业向美国出口产品,需要申请配额及一系列的相关手续,这中间需要多花费一到两倍的成本,而如果该企业拥有一个海外离岸公司,由企业向离岸公司出口产品,再由离岸公司向美国等发达国家出口,就可以绕开关税壁垒活的免税待遇,并且还能够成功绕开出口配额限制。那如何注册一个海外公司?首先需要…

    2022年4月11日
    76
  • 关于路由器自定义 3322.org 的DDNS

    关于路由器自定义 3322.org 的DDNS首先,3322.org,现在官网地址为:http://www.pubyun.com/注册用户后,如果支持3322的路由器,可以直接设置。不支持的路由就要想办法自定义了。3322的DDN

    2022年7月2日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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