nginx:搭建域名访问环境


反向代理配置

访问 gulimall.com  =====跳转到首页:http://localhost:10000/

上线正规流程 是 服务器的公网IP ,然后绑定域名备案后,别人访问域名即可访问服务器。

开发环境就用nginx来做

反向代理和正向代理

=======================================

hosts文件所在目录 :C:\Windows\System32\drivers\etc\hosts


也可以用switchHosts软件来操作。

 

======================

nginx配置文件内容:

 

 可以看到这里有个include  /etc/nginx/conf.d *.conf

他这里把conf.d目录下的配置全部合并到了这里。

上图 可以看到监听80端口,servername 是localhost

===========================

 配置好后,重启nginx   :docker restart nginx

然后访问成功:

============================================

让nginx代理给商品服务,商品服务是哪些机器?而且还可能变化,所以最好就是 nginx交给网关,由网关在注册中心动态发现服务在哪,然后由网关负载均衡转给服务。

网关也可能有多个,由nginx 负载均衡到哪个网关,然后由网关负载均衡转给服务。

nginx负载均衡官网示例:

上游服务器?:

配置nginx  上游服务器  88端口是网关。

然后负载均衡配置:

 他就会去上游服务器组中找gulimall ,组中有多个就负载均衡

现在就转到网关了。

然后到网关,把 gulimall.com 的路由规则,路由到商品服务。

网关配置:

        - id: gulimall_host_route
          uri: lb://gulimall-product
          predicates:
            - Host=**.gulimall.com

 

 数据能访问,但是页面不能访问。。。。

视频中解释说,nginx代理给网关的时候,会丢失请求的host信息。

其实会丢掉很多信息,这里先只管host信息。。。所以要配置nginx 不要丢掉这些信息。set  header :

这下子  成功访问

==================================

访问流程梳理: 浏览器访问 gulimall.com  ,然后再windows中,用switchHosts软件已经配置了域名访问,所以浏览器就找到了虚拟机,然后虚拟机里面的80端口是nginx监听,正好80端口有一个专门监听gulimall.com的配置,nginx找到后就根据gulimall的上游服务器组转给网关,然后网关路由到商品服务,然后得到相关页面内容。

注意:网关的配置是从上到下读取,注意上面的如果匹配了,下面的就匹配不到了。所以路由书写顺序要注意一下。