- 谷粒商城-分布式基础篇【环境准备】
- 谷粒商城-分布式基础【业务编写】
- 谷粒商城-分布式高级篇【业务编写】持续更新
- 谷粒商城-分布式高级篇-ElasticSearch
- 谷粒商城-分布式高级篇-分布式锁与缓存
- 项目托管于gitee
需求
域名映射效果:
- 请求接口:
gulimall.com
- 请求页面:
gulimall.com
nginx 直接代理给网关,网关进行判断
- 如果是
/api/***
,转交给对应的服务器 - 如果是 满足域名,转交给对应的服务
说明
由于本人使用的是腾讯云服务器部署的Nginx,外网代理不了本地的映射,故这里使用了 花生壳来将本地的gulimall-gateway 服务内网穿透到公网,从而实现代理
- 花生壳下载
- 并在花生壳购买http协议,6米一年
解决方案
第一步、修改本地 /etc/hosts
# vim /etc/hosts
124.222.223.222 gulimall.com
第二步、启动本地服务,将 gulimall-gate 内网穿透出去
注:使用http协议 (http协议需要单独购买)
第三步、配置上游服务器
修改 云服务器下的/mydata/nginx/conf
路径下的 nginx.conf 配置文件
upstream gulimall{
server m374k82881.qicp.vip:16059;
}
第四步、配置域名代理
修改 /mydata/nginx/conf/conf.d
路径下的 gulimall.conf 配置文件
server {
listen 80;
server_name gulimall.com;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
proxy_set_header Host $host;
proxy_pass http://gulimall;
}
修改完配置文件进行重启nginx容器服务:
docker restart nginx
第五步、配置网关
配置 gulimall-gateway 服务下的 application.yml 配置文件,加上以下网关配置
- id: gulimall_host_route
uri: lb://gulimall-product
predicates:
- Host=**.gulimall.com
测试:本地浏览器访问gulimall.com
测试成功!!