我有一台已启动并运行近 200 天的 VMware ESXi 服务器。过去几天,当我尝试使用 VMware vSphere Client 连接到它时,我无法连接。输入我的用户名和密码后,我看到小纺车和状态行说“正在连接...”然后是“正在加载库存...”,然后我收到一条错误消息:

服务器“my.host.name”无法解释客户端的请求。(远程服务器返回错误:(503) Server Unavailable
为服务器“my.host.name”上的对象“ServiceInstance”调用“ServiceInstance.RetrieveContent”失败。
我能够通过 SSH 连接到 VMware ESXi 服务器。所有虚拟机似乎都正常运行,所以我想事先知道是否需要关闭它们进行维护!!!如果您的回答中提出的方法会干扰运行 VM,请清楚说明这一点,以便我知道为停机做好准备。谢谢!
如何在 VMware ESXi 上解决此错误情况?
(我会发布版本号,但我不知道如何在没有 vSphere 控制台的情况下获取它!)
编辑:在我问这个问题大约一个月后,服务器莫名其妙地重新启动了。不知道是不是惊慌了,还是发生了什么……但是重启后,这个问题就消失了。所以我无法测试/确认任何答案,除非问题再次出现(我希望它不会!)
我已经在本地 IIS 7 服务器中建立了一个 ASP.NET MVC 网站。
它运行良好有一段时间,但突然间它似乎以随机间隔返回 503 错误,用于随机请求。
如果我在我的网络浏览器中浏览它,我有时会得到 503,但有时,页面会加载,但页面引用的资源,例如各种图像、样式表和脚本,将无法加载。
加载或不加载哪些特定文件似乎是 100% 随机和任意的。我根本无法检测到任何模式。
从字面上看,它似乎在感觉时拒绝请求。
我意识到这里的信息有点少,但谁能告诉我可能有什么问题?
(我在设置网站后所做的唯一不寻常的事情是将我网站绑定上的端口号与“默认”网站绑定上的端口号交换。)
当尝试加载需要更长时间在 Web 服务器上生成的页面时,Varnish 不断抛出 503 Service Unavailable。
在 varnishlog 中,我可以看到一个FetchError c http read error: 0错误,但我不太确定它的含义。
我还尝试增加后端超时:
backend default {
.host = "x.x.x.x";
.port = "80";
.connect_timeout = 600s;
.first_byte_timeout = 600s;
.between_bytes_timeout = 600s;
}
Run Code Online (Sandbox Code Playgroud)
后端是一个 Apache 服务器。
所有其他页面工作正常。
有任何想法吗?
目前,我们的队列大小为 3000 个请求。
location /api/v2 {
limit_req zone=bursted burst=3000;
include /etc/nginx/proxy.conf;
}
Run Code Online (Sandbox Code Playgroud)
速率限制为每秒 10 个请求。
limit_req_zone $limit zone=api_slow:10m rate=1r/s;
limit_req_zone $server_name zone=bursted:10m rate=10r/s;
Run Code Online (Sandbox Code Playgroud)
保持活动超时为 30 秒。换句话说,当队列已满时,每 30 秒应拒绝 2700 个请求,并显示错误代码 408。
reset_timedout_connection on;
client_body_timeout 10;
send_timeout 2;
keepalive_timeout 30;
Run Code Online (Sandbox Code Playgroud)
在高峰时段,我在日志中找不到任何请求,由于超时,该请求被 NGINX 拒绝,错误代码为 408,而请求正在队列中等待转发到 servlet 容器。仅拒绝并返回 503 错误代码,这与请求速率开销相对应。
delaying request, excess: 2958.320, by zone "bursted"
limiting requests, excess: 3000.730 by zone "bursted"
Run Code Online (Sandbox Code Playgroud)
如果此类队列中的请求挂起时间过长,NGINX 是否会通过超时拒绝这些请求?这个超时是什么?它的配置在哪里?
nginx reverse-proxy 503-error high-load http-status-code-408