1、官网地址
https://www.nginx.com/blog/
http://nginx.org/en/docs/
2、Using nginx as HTTP load balancer
http {
upstream myapp1 {
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
}
}
}
配置上游服务器
# cd /mydata/nginx/conf
# vi nginx.conf
在http 块内配置
upstream gulimall {
# 多机添加多个ip 即可
server 192.168.56.1:88;
}
# cd conf.d
# vi gulimall.conf
location / {
proxy_pass http://gulimall;
}
Nginx 代理给网关的时候会丢失请求的Host 信息
# cd conf.d
# vi gulimall.conf
加上
proxy_set_header Host $host;
location / {
proxy_set_header Host $host;
proxy_pass http://gulimall;
}
# docker restart nginx
# docker ps
配置网关application.yml
放在最后面 因为有优先级
spring:
cloud:
gateway:
routes:
- id: gulimall_host_router
uri: lb://gulimall.product
predicates:
- Host=**.haoxiansheng.com
访问
http://haoxiansheng.com/api/product/category/list
3、域名映射效果
请求接口: haoxiansheng.com
请求页面:haoxiansheng.com
Nginx 直接代理给网关、网关
请求/api/*** 转交给对应的服务器
满足域名交给对应的服务器