nginx反向代理配置去除前缀案例教程

 更新时间:2021年07月26日 11:25:13   作者:gcygeeker  
这篇文章主要介绍了nginx反向代理配置去除前缀案例教程,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法:

方法一:加"/"

server {
    listen              8000;
    server_name         abc.com;
    access_log  "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G"  main;

    location ^~/user/ {
        proxy_set_header Host $host;
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://user/;
    }

    location ^~/order/ {
        proxy_set_header Host $host;
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://order/;
    }
}

^~/user/表示匹配前缀是user的请求,proxy_pass的结尾有/, 则会把/user/*后面的路径直接拼接到后面,即移除user。

方法二:rewrite

upstream user {
  server localhost:8089 weight=5;
}
upstream order {
  server localhost:8090 weight=5;
}

server {
    listen              80;
    server_name  abc.com;
    access_log  "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G"  main;

    location ^~/user/ {
        proxy_set_header Host $host;
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;

        rewrite ^/user/(.*)$ /$1 break;
        proxy_pass http://user;
    }

    location ^~/order/ {
        proxy_set_header Host $host;
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;

        rewrite ^/order/(.*)$ /$1 break;
        proxy_pass http://order;
    }
}

proxy_pass结尾没有/, rewrite重写了url。

到此这篇关于nginx反向代理配置去除前缀案例教程的文章就介绍到这了,更多相关nginx反向代理配置去除前缀内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx安装lua-nginx-module模块的方法步骤

    Nginx安装lua-nginx-module模块的方法步骤

    ngx_lua_module 是一个nginx http模块,这篇文章主要介绍了Nginx安装lua-nginx-module模块的方法步骤,非常具有实用价值,需要的朋友可以参考下
    2018-12-12
  • Nginx中limit_req模块和limit_conn模块的使用

    Nginx中limit_req模块和limit_conn模块的使用

    本文主要介绍了Nginx中limit_req模块和limit_conn模块的使用,通过limit_req和limit_conn模块,可以有效实现精确的请求频率和连接数控制,下面就来具体介绍一下
    2024-05-05
  • Nginx反向代理多个服务器的实现方法

    Nginx反向代理多个服务器的实现方法

    这篇文章主要介绍了Nginx反向代理多个服务器的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • nginx http模块数据存储结构小结

    nginx http模块数据存储结构小结

    这篇文章主要介绍了nginx http模块数据存储结构小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 解决nginx+uwsgi部署Django的所有问题(小结)

    解决nginx+uwsgi部署Django的所有问题(小结)

    本篇文章主要介绍了解决nginx+uwsgi部署Django的所有问题(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Nginx缓存在服务端 代理和客户端的区别深入探索

    Nginx缓存在服务端 代理和客户端的区别深入探索

    这篇文章主要介绍了Nginx缓存在服务端 代理和客户端的区别深入探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Nginx应用之Location路由反向代理及重写策略示例

    Nginx应用之Location路由反向代理及重写策略示例

    本篇文章主要介绍了Nginx应用之Location路由反向代理及重写策略示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Nginx Proxy Manager的具体实现

    Nginx Proxy Manager的具体实现

    Nginx Proxy Manager 就是一个 Nginx 的代理管理器,本文主要介绍了Nginx Proxy Manager的具体实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • 浅析nginx 客户端返回499的错误码的问题

    浅析nginx 客户端返回499的错误码的问题

    我们服务器客户端一直有返回错误码499的日志,以前觉得比例不高,就没有仔细查过,最近有领导问这个问题,为什么耗时只有0.0几秒,为啥还499了?最近几天就把这个问题跟踪定位了一下,这里做个记录,对nginx返回499错误码相关知识感兴趣的朋友一起看看吧
    2022-10-10
  • nginx反向代理60s超时报错问题解决

    nginx反向代理60s超时报错问题解决

    本文主要介绍了Nginx反向代理时遇到60秒超时报错的问题,经过排查发现是由于代理服务执行时间过长导致的,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02

最新评论