一条专线、一个固定IP,而有N台服务器需要共享该固定IP并且对外提供http和ssh服务
将WAN固定IP绑定在路由器上
如下以华为AR111-S路由器为例
要登录华为服务器的路由器192.168.1.1,建议用火狐浏览器,并且要对火狐浏览器做如下的设置:
在浏览器地址栏输入“about:config”
点击“接收风险并继续”
在搜索栏输入“security.tls.version.min”,然后点击后面的修改按钮,将数字“3”修改为数字“1”;
接下来,我们就可以在浏览器地址栏输入路由器的地址“192.168.1.1”了!
选择“配置”菜单下面的“广域网配置”子菜单
将专线的固定IP地址填入到下面的区域,根据自己的实际情况填写!
将所有的服务器的IP地址都设置为内网静态IP
这一步服务器上分别完成
比如:192.168.1.35、192.168.1.36、……
具体步骤省略
在路由器的IP管理中做端口映射
大体的思路是将N台服务器中的某一台服务器作为主要的服务器,该服务器上需安装nginx服务,路由器直接将80端口和443端口映射到该服务器的80端口和443端口;
选择“高级”菜单下面的“IP业务”子菜单,再选择“NAT”
选择“内部服务器”选项:
接口名称:选择前面设置的WAN网地址;
转换类型:选择“协议转换”;
协议类型:选择“TCP”;
外部IP:默认为“当前接口IP地址”不变;
内部IP:填写你用作主要服务器(安装了nginx服务的服务器)的内部IP地址,比如192.168.1.33;
外部端口号:选择“映射单个”,自定义80;
内部端口号:自定义 80;
添加完80端口后继续按照同样的操作添加443端口;
另外,如果某台服务器需要ssh连接服务,我们可以同样为该服务器的22端口做一个映射,比如截图中的两台服务器,我分别用路由器的221端口(外部端口)和222端口(外部端口)映射到了该服务器的22端口,这样你就可以用同一个WAN的IP地址+不同的端口号进行SSH连接到不同的服务器!
nginx反向代理
上面我们讲了主要服务器和路由器之间的端口映射,以及所有服务器的22端口(SSH服务)的映射,下面我们来将其他服务器的http服务怎么解决!
我们可以用主要服务器中的nginx来做一个流量的分发
server { listen 80; server_name xxx.com; location / { proxy_pass http://192.168.1.15; # 转发到服务器 A proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name yyy.com; location / { proxy_pass http://192.168.1.16; # 转发到服务器 B proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
在这个nginx的反向代理的案例中,所有的外部http的访问流量都先到主要服务器,主要服务器通过nginx来做流量的分发,根据不同的域名来分发到不同的服务器局域网静态IP地址上,比如上面的案例中的xxx.com分发到http://192.168.1.15这个服务器,yyy.com分发到http://192.168.1.16这个服务器,这样我们就可以实现同一个WAN的ip地址,给不同的域名提供不同的http访问服务!
原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/duotaifuwuqigongxiangyigegudingipdeqingkuangxialuyouqiruhezuoduankouyingshe/.html