上一节实现了不使用网关,只是用nginx来进行反向代理,这一节来实现使用网关来进行服务的转发。
vi nginx.conf
:在 include /etc/nginx/conf.d/*.conf;
前面添加上游服务器配置
# 使用nginx进行负载均衡配置,配置上游服务器地址,这里配置一个网关的地址
upstream pafcmall{
server 192.168.56.1:88;
}
vi pafcmall.conf
:在 location
中的 proxy_pass xxx;
之前添加 proxy_set_header Host $host;
location / {
# nginx代理给网关的时候,会丢失请求的host信息,这里需要设置一下请求头
proxy_set_header Host $host; # $host表示当前请求头
#代理通过,将请求进行转交,要注意末尾要用 分号(;) 来进行结尾
#这里配置请求代理到网关,网关上游服务的请求地址是pafcmall,它会动态的找到上游服务器组,然后负载均衡的转过去我们的服务请求
proxy_pass http://pafcmall;
}
## 配置商城首页的路由规则
- id: pafcmall_host_router
uri: lb://pafcmall-product # lb表示负载均衡
predicates:
- Host=**.pafcmall.com,pafcmall.com #将所有 pafcmall.com及其子域名下的请求,转到 pafcmall-product 服务
• 请求接口 pafcmall.com
• 请求页面 pafcmall.com
• nginx直接代理给网关,网关判断
• 如果/api/****,转交给对应的服务器
• 如果是满足域名,转交给对应的服务