You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx Proxy Manager反向代理vCenter出现HTTP 400错误求助

问题

我希望通过Nginx Proxy Manager将vCenter置于反向代理之后,已配置如下高级规则:

sub_filter "VCENTER-FQDN" "EXTERNAL-FQDN"; 
proxy_set_header Host VCENTER-FQDN; 
proxy_set_header X-Real-IP $remote_addr; 
proxy_ssl_verify off; 
proxy_set_header Upgrade $http_upgrade; 
proxy_set_header Connection "upgrade"; 
proxy_buffering off; 
client_max_body_size 0; 
proxy_read_timeout 36000s;
proxy_ssl_session_reuse on;
proxy_redirect https://VCENTER-FQDN/ https://EXTERNAL-FQDN/;

访问时出现HTTP Status 400 – Bad Request错误,代理与vCenter处于不同VLAN但已开通访问权限,且已按照VMware官方知识库文档配置vCenter,请问该问题的原因是什么?

可能的原因及解决方法
  • Host头配置不匹配:vCenter Web客户端对请求Host头校验严格,当前配置将Host设为vCenter内部FQDN,但如果vCenter已配置外部访问的EXTERNAL-FQDN,或反向代理SSL证书绑定的是EXTERNAL-FQDN,会因Host头不匹配触发400错误。
    解决:将proxy_set_header Host改为$host或直接设置为EXTERNAL-FQDN,确保与外部访问域名一致。

  • sub_filter规则覆盖不完整:vCenter页面存在大量硬编码的内部FQDN,单条sub_filter无法覆盖所有内容,且默认仅处理text/html类型,导致资源加载异常触发400错误。
    解决:添加sub_filter_types *;指令,确保替换所有类型的内容;同时确认VCENTER-FQDN是实际的vCenter内部域名(注意大小写匹配)。

  • SSL会话复用冲突:proxy_ssl_session_reuse on在部分vCenter版本中可能引发SSL握手异常,即使关闭了证书校验,仍会触发请求错误。
    解决:将proxy_ssl_session_reuse改为off,确认反向代理请求使用vCenter默认的443端口,且网络连通性正常。

  • Connection头强制设置错误:proxy_set_header Connection "upgrade";强制所有请求使用upgrade连接,但普通HTTP请求无需此设置,导致vCenter返回400错误。
    解决:改为动态传递Connection头,使用proxy_set_header Connection $http_connection;,仅在客户端发送Upgrade请求时传递对应值。

  • vCenter配置未生效:即使按知识库配置,若vCenter相关服务未重启或浏览器缓存未清理,配置可能未生效。
    解决:重启vCenter的VAMI等核心服务,清理浏览器缓存后重新访问。

内容的提问来源于stack exchange,提问作者Abdullah Abas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 02:20:18