分享好友 最新资讯首页 最新资讯分类 切换频道
nginx 将 公网地址映射到其他服务 nginx映射ip和端口
2024-11-18 19:04

nginx 将 公网地址映射到其他服务 nginx映射ip和端口


一、问题描述

在项目中,遇到了这样一个问题:

有四台服务器,分别为:服务器A、服务器B、服务器C,服务器D,他们对应的IP地址举例如下:

服务器A:110.110.110.110

服务器B:120.120.120.120  内网地址:10.10.10.1

服务器C:无外网地址,内网地址为10.10.10.2

服务器D:无外网地址,内网地址为10.10.10.3

他们的关系是服务器B、服务器C、服务器D内网互通,服务器A内网不和他们中的任何一个互通

关系如下图:

nginx 将 公网地址映射到其他服务 nginx映射ip和端口

 

         问题描述:服务器A有个客户端应用服务需要请求服务器C,再请求服务器C后,服务器C给服务器A返回了服务器B、C、D的内网地址,这个时候呢,服务器A上的客户端拿到这些数据后,回去请求B、C、D的内网地址并建立连接,但是由于服务器A和他们的内网不通,所以服务器报错。

         场景描述:项目用了workman的框架,而workman启动后其实分为注册中心regeistor和网关gateway,客户端在连接regieistor后,workman的注册中心回把gateway的地址返回给客户端,客户端拿到这个地址后再去请求gateway,完成连接。

其中regeist的默认端口是1236,gage的默认端口是2300和2301。

一般来说gateway都是监听的ip地址都是内网。之前的服务器A是阿里云,所以内网是通的,但是忽然有一天服务器A变成了国外地址,这个时候内网就不通了。

 

二、解决方案:iptable+nginx

1、iptable:负责ip映射

在本问题中,在服务器A获得注册中心返回给的内网地址后,在iptable中,将此ip地址的出方向映射到本地的127.0.0.1,方法如下:

iptable 转发 1)、允许内核ip转发   echo 1 > /proc/sys/net/ipv4/ip_forward,重启后失效。要想永久生效,具体百度。 2)、将本机访问x.x.x.x转发到127.0.0.1   iptables -t nat -A OUTPUT -d x.x.x.x -j DNAT --to-destination 127.0.0.1

其中x.x.x.x为从服务器拿到的内网地址。

2、nginx:负责tcp正向代理和tcp反向代理

在建立好iptable后,服务器A的出方向,所有的请求服务器B、C、D的tcp将会映射到请求本地127.0.0.1上,所以,这里需建立本地对应端口的反向代理,也就是把127.0.0.1的请求转发到能与服务器A互通的服务器B上去

由于项目里的连接的都是tcp协议,所以nginx做的是tcp代理。在本问题中,具体做法是:

1)服务器A的反向代理

在nginx.conf中,不要再http块中,加入一下转发:或者建立个tcp.d文件夹,在nginx.conf的最后另起一行:

include tcp.d/*.conf;

然后建立一个xx.conf,内容如下:

以上只是一个端口的,实际上是需要根据返回的端口都加入转发。

2)服务器B的反向代理

服务器B的作用则是将服务器A转发过来的tcp转发到内网地址去,内容类似,只是server的地址变化下

 

三、iptable的一些操作

1、将iptable的导出,

iptables-save >/tmp/somefile

2、修改/tmp/sonefile

3、将修改后的iptables存入系统

4、iptables-restore < /tmp/somefile

 

 

最新文章
org域名代表什么 org域名是什么网站
域名是网站的标识,一个简单易记的域名可以让访问者更容易记住您的网站。网站域名后缀有很多,比如常见的.org、.com、.net等国际
全方位解析热门话题:深入探讨用户最关心的热点问题与解决方案
随着人工智能技术的发展其在医疗领域的应用日益广泛。算法可以在短时间内分析大量病例数据,辅助医生实行精准诊断,升级治疗效果
【增长】机构:预计2024年Mini LED背光产品出货增长至1379万台;天钰:AMOLED驱动芯片将于2024年Q2量产;大尺寸LCD/OLED面板供需情况改善
1.机构:预计2024年Mini LED背光产品出货增长至1379万台2.天钰:AMOLED驱动芯片将于2024年Q2量产3.京东方终止云南OLED项目10亿元
2025年百度广告投放最新实战指南
在数字化营销日益重要的今天,百度广告投放已成为众多企业推广品牌、吸引潜在客户的重要手段。然而,随着市场竞争的加剧,如何高
SEO优化站长如何提高搜索排名
在当今竞争激烈的数字市场中,提升网站的搜索排名是每位站长的主要目标。通过有效的SEO策略,不仅可以提高网站的可见性,还能吸
企业在线竞争力提升——专业SEO推广服务助力突破
网站优化SEO推广服务,专注于帮助企业提升在线竞争力。通过专业技术和策略,优化网站排名,吸引潜在客户,助力企业拓展市场,实
全面解析宏碁暗影骑士软件:提升游戏性能的利器
在现代游戏环境中,电脑性能往往是决定玩家游戏体验的关键因素之一。对于游戏爱好者来说,拥有一款能够有效提升游戏性能的软件是
SEO优化推广软件,点击精灵(SEO流量软件)是否真有用?
各位亲爱的小伙伴们,今天小编要和大家一起聊聊关于SEO优化推广软件中的一员——点击精灵(SEO流量软件)。大家都知道,在如今激烈
SEO排名神器套装全面解析,轻松驾驭网站优化
全面解析SEO排名工具套装,涵盖关键词分析、网站结构优化、内容质量评估等功能,助您轻松提升网站排名,快速吸引更多流量。无论
百度网址收录提交入口(百度收录网站链接入口)
对于国内广大中文博客站长来说,百度搜索仍是绕不开的话题,不被搜索引擎抓取,网友很难找到你的文章,网站的访问量定然高不了。