零、前提
0.1. 使用SwitchHosts指定本地域名地址
设置完成后可以通过gulimall.com
访问虚拟机内容
0.2. 设置Nginx自动启动
虚拟机使用命令docker update nginx --restart=always
一、搭建域名访问环境一(反向代理配置)
1.1. Nginx + Windows搭建域名访问环境
1.2. Nginx配置文件
- 查看Nginx配置文件
- 包含conf.d目录下的所有*.conf配置文件
- 查看conf.d目录下配置文件
- 查看默认default配置,是server块配置
1.4. 直接通过Nginx配置跳转到商城服务
暂时不配置跳转到网关,直接配置跳转到商品服务10000端口
- 复制一份配置
- 编写gulimall.conf配置
- 配置访问主机为gulimall.com
- 配置跳转地址http://192.168.56.1:10000
- 重启Nginx
二、搭建域名访问环境二(负载均衡到网关)
Nginx将请求交给网关,由网关从注册中心动态发现服务在哪里,然后由网关负载均衡到对应服务。
配置Nginx的http块
2.1. 配置上游服务器:
- 编辑nginx.conf
- 使用
upstrean
配置上有服务器 - 给上有服务器组配置一个名字,所有服务器地址放在
{}
中 - 每一个服务器都使用
server
标签表明地址
这里是转交给网关
2.2. 配置gulimall.conf
将gulimall.com转给上游服务器
2.3. 配置网关
根据主机地址进行断言
- id: gulimall_host_route
uri: lb://gulimall-product
predicates:
- Host=**.gulimall.com,gulimall.com
2.4. 问题:Nginx代理给网关的时候,会丢失请求的HOST信息
配置Nginx,不要丢掉HOST信息:proxy_set_header Host $host
解决:修改gulimall.conf