在过去的几天里,每次我尝试运行我的Web应用程序时,Error-503都会出现.即使我尝试进入管理页面,也会发生这种情况.这是谷歌的问题吗?
我有一个状态徽章图像,当相应的服务离线时返回 HTTP 代码 503(但网络服务器仍然在那里服务呼叫)。现在直接打开图片 URL 会正确显示图片,不管底层的 503 错误代码如何。但是在<img>标签中使用它会显示损坏的图像图标。如何在仍然允许图像本身返回 503 的同时防止这种情况发生?(外部服务依赖于此)
以下是一些屏幕截图来说明发生了什么:
注意:这发生在 Firefox 上。不是 Chrome
编辑:以下是一些请求的信息:
我遇到503 - 服务不可用错误.我检查了事件日志,发现了这个:
模块名称FastCgiModule路径C:\ WINDOWS\System32\inetsrv\iisfcgi.dll从注册返回错误.数据是错误的.
注意:每次我尝试访问我的网站时,我都会发现DefaultAppPool会自动停止.并在事件日志中也发现了这一点:
由于为该应用程序池提供服务的进程出现一系列故障,应用程序池"DefaultAppPool"正在自动禁用.
我正在为在Brightcove视频云上托管视频的网站创建视频站点地图.为了从网站获取所有视频信息,Brightcove建议从他们的以下表格的网址阅读回复
http://api.brightcove.com/services/library?token="+accountToken+"&page_size=1&command=find_all_videos&output=JSON&get_item_count=true
Run Code Online (Sandbox Code Playgroud)
url的输出是JSON,其中accountToken只是帐户的标识符.
当我在浏览器中使用Token点击上面的url时,它会给我正确的响应.
我写了下面的程序片段来读取该URL
URL jsonURL = new URL("http://api.brightcove.com/services/library?token="+accountToken+"&page_size=1&command=find_all_videos&output=JSON&get_item_count=true");
HttpURLConnection connection = (HttpURLConnection) jsonURL.openConnection();
connection.setRequestMethod("GET");
connection.connect();
BufferedReader reader = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
String lineRead = "";
while (reader.ready()) {
lineRead = lineRead + reader.readLine();
}
Run Code Online (Sandbox Code Playgroud)
由于我的浏览器使用代理,我添加了以下代码以包含代理设置
System.setProperty("http.proxyHost", "my.proxyurl.com");
System.setProperty("http.proxyPort", "80");
Run Code Online (Sandbox Code Playgroud)
不使用代理设置,它返回java.net.ConnectException: Connection refused: connect并使用代理它给我java.io.IOException: Server returned HTTP response code: 503
所以我的问题是,为什么它给我503(服务不可用)错误?从浏览器它的工作正常.
更新1: 这似乎是网络的一个问题.我ping了域名,它说"请求超时".但是通过HTTP工作.看起来像防火墙的问题.
我的清漆版本是3.0.
当我卷曲URL时,我的服务器运行良好,但是当使用varnish cache时,它503 service unavailable会偶尔返回.
日志信息喜欢的是:
0 Debug - "VCL_error(200, OK)"
24 VCL_call c recv error
24 VCL_call c error deliver
24 SessionClose c error
0 Debug - "VCL_error(200, OK)"
27 VCL_call c recv error
27 VCL_call c error deliver
27 SessionClose c error
0 Debug - "VCL_error(200, OK)"
16 VCL_call c recv error
16 VCL_call c error deliver
16 SessionClose c error
14 Debug - "Write error, retval = 2998272, len = 8465870, errno = …Run Code Online (Sandbox Code Playgroud) 我有一个WCF REST服务,它在使用IISExpress和这个url时调试并完美运行:
http://localhost:<portnumber>
Run Code Online (Sandbox Code Playgroud)
但是,由于各种原因,我需要它也可以使用IIS Express和这个URL:
http://<ip address>:<portnumber>
Run Code Online (Sandbox Code Playgroud)
当我最初尝试时,我收到HTTP错误400:错误的请求.然后我使用谷歌并最终在这里:连接到Visual Studio通过局域网调试IIS Express服务器
那个帖子问了一个完全相同的问题,答案让我在那里的一部分.遵循该主题中所有最优秀的建议,我做了以下工作:
编辑IISExpress Host.config:
1:打开%USERPROFILE%\ My Documents\IISExpress\config\applicationhost.config文件.
2:更改了所有这17行:
<binding protocol="http" bindingInformation="*:8080:localhost" />
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
<binding protocol="http" bindingInformation="*:8080:*" />
Run Code Online (Sandbox Code Playgroud)
(所有17条线路的端口号不同)
视觉工作室:
关闭,重新打开但以管理员身份运行
Windows防火墙:
添加了有问题的端口以允许传入连接
CMD:
netsh http add urlacl url=http://*:XXXXX/ user=Everyone
Run Code Online (Sandbox Code Playgroud)
执行该命令,其中XXXXX是端口号.
现在,当我开始调试并转到此URL时:
http://<ip address>:<portnumber>
Run Code Online (Sandbox Code Playgroud)
而不是"HTTP错误400:错误请求",我现在得到"HTTP错误503.服务不可用".
这是进步,因为浏览器现在至少打到了IISExpress,对吧?但我现在还不确定如何通过这个503错误.我一直在谷歌搜索该错误一段时间,但没有什么是我想要做的具体.
有任何想法吗?
当我编写以下代码来检查网站是否启动时,我总是得到 http 503,即使当我在浏览器上点击该网站时该网站工作正常。
URL url=getASCIIUrl(httpUrl);
HttpURLConnection con = null;
con = (HttpURLConnection) url.openConnection();
HttpURLConnection.setFollowRedirects(false);
con.setRequestMethod("GET");
con.setConnectTimeout(CONNECTION_TIMEOUT);
con.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.01; WiPOSTndows NT 5.0)");
int code = con.getResponseCode();
Run Code Online (Sandbox Code Playgroud)
每次我在响应代码中收到 Http 503 。谁能建议一种方法来克服这个问题?
因此,在我的 MEAN 堆栈应用程序中更改文件和移动代码之后,我终于将它加载到 Heroku 本地。现在的问题是当我将此应用程序推送到我的 Heroku 遥控器并要求打开 Heroku 时,该应用程序出现此错误....
加载资源失败:服务器响应状态为 503(服务不可用)
下面是 Heroku 上应用程序的链接……有什么可以帮助或暗示我正确方向的吗?
标准说:
10.5.4 503 服务不可用。由于服务器暂时超载或维护,服务器当前无法处理该请求。这意味着这是暂时的情况,延迟一段时间后就会得到缓解。
参考:https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
如果服务器在数据库访问级别存在锁争用,那么服务器在这种情况下是否应该返回 503。或者 503 状态的含义是:
在其他什么情况下返回 HTTP 状态 503 是有意义的。
非常感谢任何详细的澄清。
我有一个每秒刷新页面的用户脚本,但有时它尝试刷新的网站会遇到状态 503 错误,这会阻止脚本再运行。这意味着脚本将不再尝试每秒刷新页面。页面运行到状态 503 错误后如何保持脚本运行?控制台中的错误如下所示:
加载资源失败:服务器响应状态为 503(服务不可用)
// ==UserScript==
// @name script
// @namespace name
// @description example
// @match *^https://example.com/$*
// @version 1
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// @grant GM_xmlhttpRequest
// @run-at document-end
// ==/UserScript==
//*****************************************START OF SET_TIMEOUT
var timeOne = 1000;
var theTime = timeOne;
var timeout = setTimeout("location.reload(true);", theTime);
function resetTimeout() {
clearTimeout(timeout);
timeout = setTimeout("location.reload(true);", theTime);
} //end of function resetTimeout()
//*****************************************END OF SET_TIMEOUT
Run Code Online (Sandbox Code Playgroud) javascript error-handling settimeout http-status-code-503 tampermonkey
java ×3
brightcove ×1
caching ×1
debugging ×1
fastcgi ×1
firefox ×1
heroku ×1
html ×1
http ×1
https ×1
iis-7 ×1
image ×1
javascript ×1
mean-stack ×1
rest ×1
settimeout ×1
tampermonkey ×1
varnish ×1
varnish-vcl ×1
wcf ×1