Posts Tagged ‘端口转发’

端口转发导致403错误的解决办法

Tuesday, November 16th, 2021

一、业务背景 有一位客户,目前是要做三级等保,原来的服务器直接在网闸上做了端口映射即可。 客户规划现在将该服务器放到纯内网环境中,内网连接网闸,若需要访问外网,内网访问网闸映射到 可以访问外网的跳板机。这些规则我们无法改变,我们只能考虑一下如何实现即可。 二、实现方式 做法呢,就是在这个跳板机上做一个端口映射 比如内网机器(内网IP是:172.16.2.98)要访问某服务的API,例如要访问 api.jiucool.org,跳板机的IP是:192.168.8.88 , 我们则在 192.168.8.88 机器上做一个端口映射,这里端口映射工具我们可以使用 rinetd、socat、nginx 的socket转发均可。 配置好以后,我们只需要在内网机器上修改 /etc/hosts文件 ,将api.jiucool.org 解析至网闸(网闸映射到192.168.8.88),这样我们访问api.jiucool.org的请求,就转到了 192.168.8.88 机器,然后再将请求转发至真正的服务器。 三、出现的问题 之前有客户提出类似的需求,这种方案是没有问题的,但这次需要访问的API当中,部分正常,部分异常报出403的错误。 四、解决办法 有问题的API服务,经过检查,正常非转发请求,是完全正常的,一旦经过转发就是会报403,对比一下,其实只有header请求的不同。 我们在请求API时,显示的来指定header当中的Host值即可。 因为出问题的这些API是在服务端检查了host绑定关系 ,若与server当中配置的不相等则返回403异常码。 假如该api服务器绑定的ip地址是:223.5.5.5,我们则进行显示绑定,绑定之后,则一切正常。 curl -k -H “Host: 223.5.5.5” https://192.168.8.88


正在读取数据……