nginx去掉前端配置的路径前缀两种情况

 更新时间:2024年05月10日 09:37:36   作者:你是理想  
今天接到一个配置nginx的需求是,需要访问某个域名时,nginx可以去掉前缀去代理访问到后端,这篇文章主要给大家介绍了关于nginx去掉前端配置的路径前缀的两种情况,需要的朋友可以参考下

背景

在前端项目部署到nginx的时候,前端访问后端的路径加了一个全局前缀,一般来说这是前后端商量好的,但是呢也会有不一般的情况,后端在遇到这种情况的时候有两种选择

  • 第一种是给项目里也加上同样的前缀
  • 第二种就是nginx配置文件做出修改
    这里我选择了后者

第一种方式,这样的结果是你后端项目同样需要加上prod-api

 location /prod-api{
        proxy_pass http://193.1.0.6:10004;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   Host              $http_host;
        proxy_set_header   X-Real-IP         $remote_addr;
    }

第二种方式,直接prod-api 后加个斜杠,同时在端口后面也加个斜杠,这样实际请求的路径就去掉了/prod-api
这样访问的/prod-api/test/1 实际就会变成 http://193.1.0.6:10004/test/1,就像是springmvc的静态资源映射一样的

 location /prod-api/{
        proxy_pass http://193.1.0.6:10004/;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   Host              $http_host;
        proxy_set_header   X-Real-IP         $remote_addr;
    }

比如:

       前端服务器url为:https://114.114.114.114:8002/myqz/menu/index.html

      后台服务器地址为:http://127.0.0.1:9008

第一种方式:

自动拼接前缀,前端服务器地址为:https://114.114.114.114:8002/menu/index.html       

location ~ \.do$ {
            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_pass http://127.0.0.1:9008;
        }

        location ~ ^/(.*)$ {
            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_pass https://114.114.114.114:8002/myqz/$1?$args;        }

第二种方式:

替换前缀 ,前端服务器地址为:https://114.114.114.114:8002/myqz/menu/index.html       

location / {
            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_pass https://114.114.114.114:8002;
        }
        location ~ \.do$ {
            proxy_set_header Host      $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            rewrite ^/myqz/(.*)$ /$1 break;
            proxy_pass http://127.0.0.1:9008;        }

总结

到此这篇关于nginx去掉前端配置的路径前缀两种情况的文章就介绍到这了,更多相关nginx去掉前端路径前缀内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 使用nginx实现动静分离

    使用nginx实现动静分离

    这篇文章主要为大家详细介绍了使用nginx实现动静分离,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • Nginx的基本概念和原理

    Nginx的基本概念和原理

    这篇文章主要介绍了Nginx的基本概念和原理,Nginx专为性能优化而开发,性能是器最重要的考量,实现上非常注重效率,能经受高负载的考验,据报告能支持高达50,000个并发连接数。下文我们就来看看Nginx概念和原理,需要的小伙伴可以参考一下
    2022-03-03
  • Nginx新增http_ssl_module模块的解决方案

    Nginx新增http_ssl_module模块的解决方案

    这篇文章主要介绍了Nginx新增http_ssl_module模块的解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • nginx开启ws访问和4层负载的编译参数示例

    nginx开启ws访问和4层负载的编译参数示例

    这篇文章主要为大家介绍了nginx开启ws访问和4层负载的编译参数,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Nginx ssi合并页面的具体实现

    Nginx ssi合并页面的具体实现

    nginx的ssi模块是一种类似于ASP的基于服务器的网页制作技术,本文主要介绍了Nginx ssi合并页面的具体实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • 简单谈谈Nginx基础知识入门

    简单谈谈Nginx基础知识入门

    Nginx(engine x)是一个高性能的HTTP服务器(其实不止HTTP服务器),一般主要用作负载均衡和反向代理,今天我们来简单学习下他的基础配置知识
    2017-08-08
  • nginx基础配置说明一则

    nginx基础配置说明一则

    nginx基础配置说明一则,有需要的朋友可以参考下
    2013-02-02
  • Linux中安装Nginx的正确步骤

    Linux中安装Nginx的正确步骤

    这篇文章主要给大家介绍了关于在Linux中安装Nginx的正确步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • nginx代理多次302的解决方法(nginx Follow 302)

    nginx代理多次302的解决方法(nginx Follow 302)

    这篇文章主要介绍了nginx代理多次302的解决方法(nginx Follow 302),详细的介绍了解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Nginx 连接tomcat时会话粘性问题分析及解决方法

    Nginx 连接tomcat时会话粘性问题分析及解决方法

    这篇文章主要介绍了Nginx 连接tomcat时会话粘性问题分析及解决方法的相关资料,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2015-10-10

最新评论