1

请检查我的 logcat。这是我在解析 http 响应时得到的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
   <head>
      <title>503 Service Unavailable</title>
   </head>
   <body>
      <h1>Error 503 Service Unavailable</h1>
      <p>Service Unavailable</p>
      <h3>Guru Meditation:</h3>
      <p>XID: 1294992728</p>
      <hr>
      <p>Varnish cache server</p>
   </body>
</html>

我在将图像从 android 上传到服务器时收到此响应。有人可以帮我解决这个问题吗?

4

3 回答 3

2

正如您所说,错误是来自服务器的 503,请检查此链接一次。它指出,由于以下原因,可能会发生 503 错误:

  1. 从站点的 IP 名称(不带前导“http://”的站点 URL)获取 IP 地址。此查找(IP 名称到 IP 地址的转换)由域名服务器 (DNS) 提供。
  2. 打开到该 IP 地址的 IP 套接字连接。
  3. 通过该套接字写入 HTTP 数据流。
  4. 接收来自 Web 服务器的 HTTP 数据流作为响应。此数据流包含状态代码,其值由 HTTP 协议确定。解析此数据流以获取状态代码和其他有用信息。
于 2013-06-27T06:05:46.520 回答
1

5xx错误类型是服务器端错误。wiki上的 HTTP 状态代码列表指出错误代码503意味着The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.所以,简而言之,您的服务器似乎已关闭。

希望这些信息有所帮助。

于 2013-06-27T06:04:58.207 回答
1

如果没有实际看到您的 VCL 文件,很难判断...但考虑到您在上传(POST 请求)时遇到该错误,我猜您遇到了后端超时之一[1]。

尝试增加超时并查看错误是否仍然存在:

backend default {
  .host = "your.host.tld"; //Use your current setting
  .port = "XXX";           //Use your current setting
  .connect_timeout = 300s;
  .first_byte_timeout = 600s;
  .between_bytes_timeout = 600s;
}

[1] https://www.varnish-cache.org/docs/3.0/reference/vcl.html?highlight=timeout#backend-declarations

于 2013-06-27T10:41:44.423 回答