微服务项目可能需要 Nginx来实现反向代理,用户请求 Nginx,随后 Nginx将请求转发至 Gateway网关,再由网关转至具体的微服务
针对使用 Gateway作网关的项目,需要配置 Nginx转发请求中对路径的识别方式
可以使用 -Host
来验证 Nginx转发时的请求
spring: cloud: gateway: routes: # 注意,路由是自上而下顺序匹配的,不是像 IP地址那样最长匹配,所以精确的值要写在前面 - id: gulimall_host_route uri: lb://gulimall-product predicates: - Host=**.gulimall ## 前端项目,/api
概述
一般会将容器中的 Nginx目录映射出来
我们可在 html
路径下配置访问数据,在 conf
路径下配置访问规则
配置
其中核心文件为 nginx.conf
和 conf.d
目录下的配置文件
查看 nginx.conf
其中配置了一些基本属性
注意:它同时会引入 conf.d
路径下的所有配置文件
查看 conf.d
初始状态下是只有 default.conf
文件
其中配置了基本的路径相关信息,指明了路径映射的方式
为了让用户能访问当前 Nginx,并向网关做转发,我们进行如下配置
在 conf.d
目录下拷贝 default.conf
,在原基础上做些修改
之所以配置 gateway这个名称是为了使用 nginx做负载均衡,其在根配置文件中的设置如下
如果后端服务器没有进行前后端分离,那么当用户请求数据时,会同时请求动态数据、页面和 那些静态的 js、css等文件;
对静态文件的请求会限制系统的吞吐量
微服务无需额外配置,只是需要更改页面中的资源引用路径
假设,我们将资源放到 nginx的 html下的 static/index路径下
则需要将具体资源的前缀路径设置为 /static/index/xxx
,如:/static/index/js/index.js
Nginx需要将这些资源开放出去
具体可以在,conf/conf.d
路径下的资源文件中进行配置
如在 gulimall.conf
中进行如下配置: