目录

搭建域名访问环境一(反向代理配置)

搭建域名访问环境二(负载均衡到网关)


搭建域名访问环境一(反向代理配置)

反向代理:就是为了不让服务的地址暴露,通过访问nginx来访问服务

域名解析的规则:

①先解析本机是否有相应的映射规则

访问localhost即访问127.0.0.1 

②DNS域名解析获取相应的ip地址

由于每次修改hosts文件太麻烦了,因此,安装SwitchHosts

下载地址Releases · oldj/SwitchHosts · GitHub

必须以管理员的权限启动

如果无写入权限,参考win10使用Switchhost显示无修改权限_牧码ya的博客-CSDN博客 

 配置完成之后,我们访问gulimall.com就会访问虚拟机

 

 让nginx帮我们进行反向代理,所有原来自gulimall.com的请求,都转发到商品服务的首页

nginx的全局配置文件已经被挂载到了/mydata/nginx/conf/nginx.conf

1是全局块,2是events块,3是http块,4是server块,server块的配置文件是conf.d文件夹下的所有配置文件

配置server块

 重启nginx

docker restart nginx

出现错误:访问失败

查看错误原因:

docker logs nginx

出现问题的原因:缺少; 

搭建域名访问环境二(负载均衡到网关)

存在问题随着服务的增多,每次都配置将会很麻烦,因此,需要将访问gulimall.com的请求转发给网关,由网关处理。 

ngixn负载均衡配置文档:Using nginx as HTTP load balancer

①修改配置文件

修改nginx.conf配置

upstream gulimall{
    server 192.168.56.1:88;
}

配置了上流服务的名称gulimall,服务块的地址为本机的网关地址

修改conf.d下的gulimall.conf配置 

proxy_pass http:\\gulimall;

会自动去上游服务的组中查找 

重启nginx

②修改网关配置文件

gateway host 路由规则配置文档:Spring Cloud Gateway

 注意事项:host配置必须置于其它配置之后否则位于host配置之前的配置将不生效

        - id: gulimall_host_route
          uri: lb://gulimall-product  # lb:负载均衡
          predicates:
            - Host=**.gulimall.com,gulimall.com   # **.xxx  子域名

 重启网关

出现问题:访问域名报错404,访问api接口可以访问成功

说明:nginx已经将请求反向代理给网关了但是网关的host路由断言未起作用

出现问题的原因:nginx将请求交由网关处理的时候会丢失host

解决方案如下:设置请求头

proxy_set_header Host $host # Host 请求头的名称  $host获取当前请求的host值

 重启nginx成功 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐