我在客户端模式下使用 stunnel 在我的 Haproxy 和 HTTPS 后端服务器之间进行代理。我读到 Haproxy 会在每次配置加载时缓存已解析的 IP,这在我当前的设置中不是问题。然而,这让我开始思考 stunnel 是否也会缓存 DNS 结果。我发现有一个delay = yes
选项听起来应该可以缓解我的担忧。摘自手册:
延迟 = 是 | 否
延迟 DNS 查找连接选项
此选项对于动态 DNS 很有用,或者当 DNS 在 stunnel 启动期间不可用时(road warrior VPN、拨号配置)。
当 stunnel 在启动时无法解析服务的任何连接目标时,会自动启动延迟解析器模式。
延迟的解析器会造成故障转移 = prio。
默认值: no
如果我设置了delay = yes
,DNS会在每次连接时被解析吗,还是使用操作系统的DNS缓存(这会使它无效)?
答案1
总结:它不缓存 IP 地址
在 stunnel 邮件列表中提出这个问题时,作者兼维护者 Michal 友好地回答了这个问题:
我专门引入了“delay”选项来处理动态 IP 地址。Stunnel 不会尝试使用“delay = yes”来缓存 IP 地址。本地库可能会缓存它们,但它应该遵守 TTL。