angular6+springboot实现前后分离nginx配置

 更新时间:2023年06月02日 10:06:21   作者:Mzoro  
这篇文章主要介绍了angular6+springboot实现前后分离nginx配置详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

工作场景

苦逼码农一个,公司技术上希望跟上潮流,但人员不希望跟上,所以前后一起开发,对于只开发前端代码的人来说可以 mock 数据,但是本人既然连后台代码一起开发,希望通过 nginx 代理直接访问接口返回数据,so...

nginx 配置

server {
         listen 8085;
         server_name localhost;
         location / {
             proxy_pass http://localhost:4200;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection "upgrade";
         }
         location ~ /server/.+ {
             rewrite /server/(.+) /$1 break;
             proxy_pass http://localhost:8082;
             proxy_cookie_path ~*^/.+/([^/]*) /$1;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header X-Real-IP $remote_addr;
         }
    }

解析

自动略过 server 的前两行

  • 第一个 location 代理的是前端开发服务,服务启动在 4200 端口; 这个 location 的后 3 行配置是为了让 nginx 可以代理 websocket , 生产中如果工程中没有 websocket 可以不用; 开发中 websocket 主要是为了方便快速的在代码重新发布之后可以自动刷新页面
  • 第二个 location 代理的是后台服务器,~ /server/.+ 代表这个 location 会处理所有符合这个正则的请求,不会与 第一个 location 的 / 冲突,因为 ~ 比 默认的匹配模式高
  • 第二个 location 中第一行 rewrite 是重写请求 url,比如 请求的是 /server/service-name/user/currentUser,实际想要请求的是 /service-name/user/currentUser, 所以需要 nginx 重写这个请求的地址
  • proxy_cookie_path 针对的是 服务器响应头中的 Set-cookie 的 Path 属性,因为后台服务器返回给前台的 cookie 是带有自身的 contextpath 的,比如:springboot 中配置了 server.servlet.content-path=mall 或者 tomcat 中的工程名字是 mall ,那么响应给前台的 Set-cookie 的 path 就是 /mall,但是浏览器在登陆以后的请求时带的 cookies 就没有 path 属性,这会导致登陆状态失效;所以 proxy_cookie_path 是将 服务器返回 的 cookies 的 path 进行转换的,上面的配置是将服务器返回的 cookies 路径的前缀去掉第一段

以上就是angular6+springboot实现前后分离nginx配置的详细内容,更多关于前后分离nginx配置的资料请关注脚本之家其它相关文章!

相关文章

  • Nginx设置成服务并开机自动启动的配置

    Nginx设置成服务并开机自动启动的配置

    Nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,接下来通过本文给大家介绍Nginx设置成服务并开机自动启动的配置,需要的朋友可以参考下
    2022-01-01
  • Linux下Nginx安全证书ssl配置方法

    Linux下Nginx安全证书ssl配置方法

    这篇文章主要介绍了linux下nginx服务器配置安全证书的方法,分享下证书的具体安装步骤,有需要的朋友参考下
    2014-01-01
  • 配置nginx访问本地静态资源,本地图片,视频教程

    配置nginx访问本地静态资源,本地图片,视频教程

    文章介绍了如何配置Nginx以访问本地静态资源、图片和视频,首先,进入Nginx安装目录并打开`nginx.conf`文件,添加一个新的`server`配置来指定本地路径,然后,通过命令行重启Nginx服务以应用更改,最后,通过浏览器访问配置的图片路径来验证配置是否成功
    2025-01-01
  • Nginx代理导致请求头某些内容丢失的问题解决

    Nginx代理导致请求头某些内容丢失的问题解决

    本文主要介绍了在使用NGINX代理时请求头中的下划线被自动忽略的问题,通过两种方法解决了这个问题,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • 简单了解Nginx七层负载均衡的几种调度算法

    简单了解Nginx七层负载均衡的几种调度算法

    这篇文章主要介绍了简单了解Nginx七层负载均衡的几种调度算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Nginx 配置过程的具体步骤

    Nginx 配置过程的具体步骤

    这篇文章主要介绍了Nginx 配置过程的详细介绍的相关资料,希望通过本文能帮助到大家,让大家掌握如何配置Nginx,需要的朋友可以参考下
    2017-10-10
  • 网站如何通过nginx设置黑/白名单IP限制及国家城市IP访问限制

    网站如何通过nginx设置黑/白名单IP限制及国家城市IP访问限制

    如果你的服务器被攻击很厉害,而且服务器是自己练手的,不需要其他用户访问的,那么就可以配置一下nginx的白名单,下面这篇文章主要给大家介绍了关于网站如何通过nginx设置黑/白名单IP限制及国家城市IP访问限制的相关资料,需要的朋友可以参考下
    2022-07-07
  • nginx ingress限速那些事浅析

    nginx ingress限速那些事浅析

    这篇文章主要为大家介绍了nginx ingress限速的一些知识的浅析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 详解Nginx服务器中map模块的配置与使用

    详解Nginx服务器中map模块的配置与使用

    这篇文章主要介绍了Nginx服务器中map模块的配置与使用,文中同时给出了ngx_http_map_module模块的map命令用于制作服务器限速白名单的示例,需要的朋友可以参考下
    2016-01-01
  • 为什么 Nginx 比 Apache 更牛

    为什么 Nginx 比 Apache 更牛

    为什么Nginx在处理高并发方面要优于httpd,我们先从两种web服务器的工作原理以及工作模式说起。对Nginx对比 Apache的相关知识感兴趣的朋友跟随小编一起看看吧
    2021-02-02

最新评论