nginx代理websocket时ws遇到仅支持域名访问的处理

最终改造点

proxy_set_header Host 这一行

未改之前遇到的问题:

nginx 日志显示 https://aaa.bbbb.cn:7413 被解析成了 IP 地址,这通常是因为 DNS 解析的结果被缓存或某些中间层(如负载均衡器、防火墙等)将域名替换为 IP 地址。这种情况可能会导致问题,尤其是在上游服务器依赖 SNI 或虚拟主机配置时。

以下是解决此问题的方法和建议:


问题原因分析

  1. DNS 缓存

    • 如果 Nginx 或操作系统中存在 DNS 缓存,可能会将域名解析为 IP 地址。
  2. Nginx 配置中的 resolver 指令

    • 如果 Nginx 配置中使用了 resolver 指令(例如动态解析后端地址),Nginx 会主动解析域名并将其替换为 IP 地址。
  3. 上游服务的配置

    • 上游服务可能不支持通过 IP 地址访问,而只支持通过域名访问。
  4. 日志记录方式

    • Nginx 的日志默认记录的是解析后的 IP 地址,而不是原始域名。这并不意味着请求中实际使用了 IP 地址。
相关推荐
星恒随风12 小时前
Linux网络编程:彻底理解IO多路复用select!从fd_set位图、读写就绪到手写TCP多客户端字典服务器
linux·服务器·网络
Oiiouui14 小时前
linux服务器部署Logto后端与对应前端的实现
linux·服务器·前端·后端
ITKEY_14 小时前
用 Emacs Dired 实现 em:退出文件管理器后,让终端自动切换目录
linux·服务器·emacs
沫璃染墨16 小时前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
番茄啊1 天前
linux 开启xftp连接
linux·运维·服务器
Lsetea1 天前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
Julien20041 天前
管理机密(一)
运维·服务器·开发语言·学习方法
AOI小白新手上路2 天前
深度学习算力购置方案分析:本地 RTX 4090 服务器 vs 云端租赁
服务器·人工智能·深度学习
千桐科技2 天前
qKnow智能体构建平台专业版 v3.1.5 发布:扩容工作流编排调用能力,上线Text2SQL插件,拓宽数据类智能应用构建边界
服务器·数据库·oracle·qknow