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 地址。
相关推荐
波波0072 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
記億揺晃着的那天4 小时前
NAS 内网域名访问为什么需要浏览器授权
网络·nginx·js·nas
隔窗听雨眠5 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
鲸采云SRM采购管理系统6 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
那年窗外下的雪.6 小时前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
0x537 小时前
Java网络编程(二)
java·服务器·网络
AI领路人.7 小时前
[特殊字符] 用 OpenClaw 实现一个 C++ 复刻版 QuantClaw
websocket·单元测试·discord·rest api·内存占用·c++17
果果燕7 小时前
C++学习笔记(三):类与对象拓展学习笔记
java·服务器·前端
小绫网络安全8 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器
allforgood8 小时前
控制启动过程
linux·运维·服务器