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 地址。
相关推荐
The Sheep 202330 分钟前
Vue复习
linux·服务器·数据库
源图客2 小时前
Minio配置HTTPS服务
服务器·网络协议·https
修炼室2 小时前
外网环境原生直连校内服务器:基于内网穿透 + SSH 密钥认证的完整实践指南
服务器·ssh·php
Titan20242 小时前
Linux动静态库
linux·服务器·c++
j_xxx404_3 小时前
MySQL表操作硬核解析:从 CREATE TABLE 到磁盘文件、ALTER TABLE 与 DDL 风险
运维·服务器·数据库·c++·mysql·adb·ai
前端程序猿i3 小时前
Nginx 教程:从入门到能上线
运维·nginx
明辰之林3 小时前
Nginx 1.26.2 → 1.30.2 升级指南(离线环境)
nginx
AskHarries3 小时前
权限模型:Shell、Browser、文件读写的安全边界
服务器·前端·网络
咖啡星人k3 小时前
MonkeyCode 网络架构:WebSocket、SSE与实时协作的技术选型
网络·websocket·架构·monkeycode
团象科技3 小时前
外贸站选海外服务器 拆解跨境运营中常被忽略的核心性能细节
运维·服务器