Nginx服务器Telnet域名通,但是Telnet域名对应的IP有时通有时不通

本文讲述了如何处理Web服务器Nginx中因第三方服务多IP策略引发的问题,通过DNS解析动态IP并避免频繁调整网络策略。重点在于理解Nginx resolver配置的作用以及实际应用案例。

最近在生产遇到了一个比较棘手的问题,事情经过是这样的,我们的一台WEB服务器作为一台出口服务器使用的是Nginx,主要用于对接第三方系统,因为要访问第三方的域名,我们这边需要先申请网络策略,在申请网络策略的时候考虑到可能一个域名有时会对应多个IP的情况,为什么会对应多个IP呢?有的小伙伴可能会有疑惑了,正常情况下不是应该一个域名对应一个IP吗?下面我为大家讲解一下为什么会对应多个IP。

一个域名对应多个IP的情况是看提供服务方自己的策略了,有的系统会考虑到运营商的问题,那么就会根据目前,移动、联通、电信这三家运营商提供三个对应的IP,但是IP对应的域名都是一个,为什么要这么做呢?就是因为考虑到如果我一个运营商的IP如果出现问题,导致服务无法接收请求,那么就会切换到另一个IP上面,这样就不会出现服务因为一些极端问题不可用,当然有三个IP也不是全部都用上,会优先使用一个运营商的IP。

那根据上面说的情况就会出现一个情况,就是我们调用其他系统的服务需要经过防火墙什么的,如果把这些IP都配上但是不能解决主要问题,为什么不能解决主要问题呢,因为如果服务方又增加了,或者有减少了IP,对与消费方来说每次都需要服务方给我说下,然后我这边每次再改下,就会很麻烦,所一我们在对接第三方的时候只配了访问到第三方域名的网络策略,然后根据服务器的DNS解析域名拿到所对应的IP,这样就不会出现上面所出现的问题。

但是我们在配上域名的策略后发现telnet域名加端口是一直都是通的,但是telnet域名对应的IP加端口只有在先telnet域名之后才能telnet通,停止半个小时左右先telnet域名所对应的IP加端口就不通了,对与这个问题在生产上找了好长时间也没找到具体问题,查看了服务器的DNS发现也是配置的没有问题,实在没办法了,请教了一下公司的其他同事,通过了解情况后同事说了一个,你们nginx没有配置文件中没有配置resolver参数,然后又给我们加了一段配置说替换一下试试,代码在下面:

server{
        listen       443 backlog=65535;
        listen       [::]:443 backlog=65535;

        proxy_connect_timeout 15s;

        access_log logs/stream.log basic;

        ssl_preread on;
        resolver 114.114.114.114;
        proxy_pass $ssl_preread_server_name:$server_port;
}

加上这块配置后确实好了,如果你们有遇到这种情况就试试吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Male晓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值