我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

我是一家企业的网络工程师,公司的负载均衡设备由我们网络部门统一管理,本文主要介绍和分享我最近在实际工作中对互联网域名和IP管理的研究和体会。

众所周知,IPv4 地址是全球稀缺资源,如果你的公司或者你自己的互联网相关应用需要对外提供服务,一个固定 IP 是必不可少的。申请一条固定公网 IP 的互联网线路所能提供的免费 IP 是有限的,如果需要扩容 IP 地址,就需要增加月租费。如果你想发布很多域名和网站,每个域名都对应一个固定 IP,这会增加你的成本,长远来看是一笔不小的开支。

另外,为了增加应用的高可靠性和水平扩展能力,互联网网站通常会在Web服务器前部署反向代理(负载均衡)硬件或软件如F5、LVS、NGINX等,以实现四层、七层的负载均衡能力。

对于多个站点,通常用二级域名来区分。例如你有两个站点,那么就会做两次DNS解析。例如:

站点 1:192.168.50.123

站点 2:192.168.50.124

这样,当用户及时请求时,就会访问相应的页面,但是这样会消耗2个公网IP地址,如果你有N个站点,以此类推,就需要N个公网IP地址。

有朋友可能会说我可以通过IP+端口号来区分我的站点,把两个不同的域名通过DNS解析到同一个公网IP上。这样就可以重用我的公网IP了,比如把192.168.50.123:80(默认端口)映射到这个站点上,用户访问的时候需要在浏览器中输入:8080。这样就可以重用一个公网IP来访问两个不同域名的站点了。但是问题在于带端口号的域名不太好用,对于新手来说,端口号8080可能很容易打错,而且网站看起来也不正规。

只需将两个域名的DNS解析到同一个公网IP即可

站点 1:192.168.50.123

站点 2:192.168.50.123

有没有办法通过同一个IP+80端口来访问多个域名、多个站点呢?有办法,下面以NGINX作为反向代理(负载均衡)为例介绍如何实现,其他硬件或者软件也是一样。

首先NGINX做反向代理需要使用七层代理模式(Nginx默认就是七层代理)。我们都知道http请求是有http报文头的,http报文头里面有一个字段叫host,当我们用浏览器输入域名访问某个站点的时候,对应的host域名就会插入到http报文头中。而Nginx反向代理服务器可以获取http报文头的host字段,根据设定的转发规则判断域名,转发到对应的Web集群服务器,把对应的页面交给浏览器,这样就可以实现不同域名解析到同一个公网IP,端口复用的场景,节省公网IP的使用。

下面就是Nginx中具体的配置以及请求流程,其实配置很简单,根据实际情况给出不同的就可以了(因为网上已经有很多nginx反向代理和负载均衡的详细配置,这里就不再赘述具体配置参数的含义了)。

编辑nginx配置文件,vim /etc/nginx/nginx.conf

1、创建两个pool,分别是后台真实服务器的pool,一个是指向web服务器192.168.50.201的news,一个是指向web服务器192.168.50.202的news。

2、创建两个,分别监听80端口,其中一个设置为转发到新闻,另一个设置为转发到此;

3.Nginx 反向代理发布 IP 地址 192.168.50.123。

二维码
扫一扫在手机端查看

本文链接:https://by928.com/3001.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线