域名+DNS+ip+nginx+网关gateway+微服务 /外网访问内网服务过程

1: 申请域名

由于IP地址不好记,所以我们需要一个好记得域名来访问我的项目

2:域名备案

域名只有备案之后,才能使用,暴漏80端口

3:公网 IP 和 虚拟IP

公网IP:真实IP是网络运营商提供的所以不能自己变更,一般我们都会做公司网站暴漏外网都会用 外网IP

虚拟IP:虚拟IP是自己设置的可以变更,我们一个大型微服务内部的通信,就是用的虚拟IP

4:DNS 域名解析器(服务商)

通过DNS ,把域名解析到某个公网IP,

这样就可以用域名来代替公网IP,作为我们网站的域名了,也可以访问我们服务器,这样就能在外网访问时候,不爆露我们的IP直接访问了,安全可靠

5:路由器

公网IP 映射 虚拟访问IP,这里面虚拟IP设置是映射nginx的,因为nginx是访问的唯一入口,

这些设置是在公司连接外网的路由器里面 ,设置添加的转发规则的虚拟服务器选项里面,

比如访问SQL数据库端口一般是1433,那个设置后访问你外网的IP的1433端口的流量都会转发到你设置的内外IP地址的1433端口

6:Nginx :反向代理

正向代理:客户端通过正向代理服务器,屏蔽客户端的信息,来访问资源,例如

反向代理:客户端通过反向代理服务器访问资源,期间,通过反向代理服务器屏蔽了资源服务器的信息

1:首先我们为了不给每一个服务都设置一个公网IP,那么我们就要设置一个统一入口,就是nginx

2:nginx在config文件中配置了域名以后(dns解析到公网ip),默认nginx是80端口,这样就可以隐藏端口了,那么我们就可以直接用域名访问nginx了,

3: 在nginx的config中server节点中配置,转发请求规则,

4:在nginx的config中upstream节点中配置负载均衡的服务

例如:

当www.test.com/app  ,或者 www.test.com/web

我们就可以在nginx中配置 路径中带有/app的,访问到的虚拟ip 假如是:192.168.56.1

我们就可以在nginx中配置 路径中带有/web的,访问到的虚拟ip 假如是:192.168.56.2

这样我们就可以实现,一个域名访问,通过nginx判断,访问路径,从而访问哪台虚拟ip虚拟机服务

7:gateway 网关

服务的统一入口:

当我们只把nginx作为限流,负载的入口的时候,那么只需要nginx配置转发 的 虚拟ip是网关的虚拟ip即可,

然后我们用网关做判断,断言访问路径中带有/app,我们请求到某个服务,带有/web的,我们请求到某个服务,这样也实现了请求转发

8:整体访问流程

域名(公司网站例如 www.baidu.com)---DNS域名解析器-----解析到----公网ip----通过路由器映射到nginx的虚拟ip------nginx唯一入口-----请求转发,负载均衡

--------到gateway,网关通过域名或者访问路径判断------能访问某个微服务

猜你喜欢

转载自blog.csdn.net/qq_39564710/article/details/113861835
今日推荐