长亭百川云 - 技术讨论

长亭百川云

技术讨论长亭漏洞情报库IP 威胁情报SLA在线工具
热门产品
雷池 WAF 社区版
IP 威胁情报
网站安全监测
百川漏扫服务
云堡垒机
百川云
技术文档
开发工具
长亭漏洞情报库
网安百科
安全社区
CT STACK 安全社区
雷池社区版
XRAY 扫描工具
长亭科技
长亭科技官网
万众合作伙伴商城
长亭 BBS 论坛
友情链接
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备2024055124号-2

关于上游服务器是动态IP的缓存问题

发布于 1 个月前

# 雷池 WAF

发布于 1 个月前

头像

asun 🇨🇳 廖建山

更新于 1 个月前

0

0

Nginx 在使用 proxy_pass 反向代理到一个域名(而非IP地址)时,会将该域名解析出的 IP 地址缓存在resolver的内部缓存中。这个缓存不会自动刷新,即使 DNS 记录已更新,Nginx 仍可能使用旧的 IP,导致服务中断或请求错误。

雷池在创建应用后会生成如下相关配置

1upstream backend_13 {
2    server sunline.ziyo.ren:12345;
3    keepalive 128;
4    keepalive_timeout 75;
5}

我们希望可以有个是否开启DNS动态解析的选项,开启后可以增加下面两行配置

1upstream backend_13 {
2    server sunline.ziyo.ren:12345;
3    zone backend_26 64k;           # 必须:共享内存区域
4    resolve;                       # 关键:启用 DNS 动态解析
5    keepalive 128;
6    keepalive_timeout 75;
7}
​
头像

asun 🇨🇳 廖建山

更新于 1 个月前

0

0

image.png

建议:

方案一:

增加一个选项,启用DNS动态解析
生成的upstream配置里根据选项适当增加如下配置

    zone backend_26 64k;           # 必须:共享内存区域
    resolve;                       # 关键:启用 DNS 动态解析

方案二:

利用现有的“上游服务器健康检查”功能,检查DNS,发现有变化了就reload一下

头像

雷池-洋仔

管理员

更新于 1 个月前

感谢反馈,目前waf界面无法在上游服务器配置的upstream配置dns动态解析,我们这会记录这个需求
不过在最新版本(9.2.7)的waf中可以配置location{}块自定义nginx配置实现动态解析的效果,可以尝试一下
配置某个站点的自定义配置文件/data/safeline/resources/nginx/custom_params/backend_x
添加如下配置

proxy_ssl_server_name on;
proxy_ssl_name $host;
resolver x.x.x.x valid=30s; #新增配置

退出保存执行docker exec -it safeline-tengine nginx -t以及docker exec -it safeline-tengine nginx -s reload实现dns动态解析的效果
新增脚本进行秒级循环的执行nginx重载

​
头像
相关贴子
#
建议为社区版本添加深色模式支持
#
希望雷池添加可以生成原服务器域名证书的功能
#
雷池规则广场:拦截常见扫描器
#
certd创建自动化流水线使用letsencrypt申请证书并更新雷池waf证书
#
一个站点,nginx 里面需要多个location不同判断,如何自定义