域名解析是首先会在本机的localhost中查找域名解析规则,如果没有会通过本地配置的域名服务器地址进行域名解析。
下面我们通过配置localhost进行域名访问。
第一步:修改文件,路径:C:WindowsSystem32driversetc 下的host文件
添加如下内容,这样我们就可以用:http://gulimall.com 访问 192.168.56.10 地址了。
这里的192.168.56.10 是访问虚拟机的地址,nginx就安装在其中,
在linux下通过 ip addr 获取的
第二步:把hosts文件拷贝出来,修改完成后替换原来文件
2.1 概念
正向代理:客户端知道目标服务器的地址,在客户端与目标服务器之前有一个服务器用于请求的转发。
反向代理:目标服务不对外暴露接口,只有代理服务器知道目标服务器的地址,客户不知道目标服务器,只需要给代理服务器发信息,代理服务器根据配置选择使用哪个服务器。
2.2 配置过程
官方文档:http://nginx.org/en/docs/http/load_balancing.html
思路:nigx 负载均衡到 网关,网关可以有多个, 在网关设置路由规则路由到对应的服务上
官方配置
第一步:配置nginx.config 中 配置上游服务地址
为什么要配置192.168.56.1 因为通过ipconfig得到的虚拟机与本地的网卡的地址是192.168.56.1。这个地址是可以访问我本机的。
第二步:配置 自定义的配置文件gulimall.config 中配置负载均衡
gulimall 这个名称是上游服务器配置时取的名称
第三步:在网关中配置路由
- Host 表示当检查到head中的host参数为**.gulimall.com,gulimall.com 条件时进入路由
- 浏览器输入:gulimall.com 经过hosts中的 ip映射 会映射到 192.168.56.10 下的80 端口
2)192.168.56.10 下的80 运行的是nginx ,nginx得到请求,请求中header参数Host为 gulimall.com
3)nginx查看自己配置,发现监听的是80端口并且host为gulimall.com,于是匹配成功,代理到http://gulimall;
此处需要注意:由于nginx给网关发信息是会修饰一些参数:其中就包含host,所以需要把host手动配置发过去,网关才能配置断言进行路由跳转。
4)http://gulimall 中的gulimall 是通过上流服务器配置路由地址(网关地址)为:http://192.168.56.1:88
5)nginx 配置代理跳转后:http://192.168.56.1:88(这个地址在浏览器中不会显示),并且带着header中的host: gulimall.com
6)网关接收到请求后匹配到Host断言规则,路由到:lb://gulimall-product 这个微服务,从而启动了这个微服务的首页