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 地址。
相关推荐
m0_694845571 分钟前
云服务器如何管理数据库(MySQL/MongoDB)?
服务器·数据库·mysql
L_autinue_Star32 分钟前
从0到1实现Shell!Linux进程程序替换详解
linux·运维·服务器·c++·chrome
J_Xiong01173 小时前
【工程篇】07:如何打包conda环境并拷贝到另一台服务器上
运维·服务器·conda
LUCIAZZZ3 小时前
高性能网络模式-Reactor和Preactor
java·服务器·开发语言·网络·操作系统·计算机系统
k *3 小时前
网络编程-tcp连接:服务器与客户端
服务器·网络·tcp/ip
Wezzer3 小时前
haproxy负载均衡
运维·服务器·haproxy·keepalvied
yuanManGan4 小时前
Linux基本指令(一)
linux·运维·服务器
珹洺4 小时前
Linux操作系统从入门到实战(十)Linux开发工具(下)make/Makefile的推导过程与扩展语法
linux·运维·服务器
开开心心就好6 小时前
电脑桌面整理工具,一键自动分类
运维·服务器·前端·智能手机·pdf·bash·symfony
神一样的老师8 小时前
Linux下编译海思WS63 SDK全攻略
linux·运维·服务器