我刚刚为现有的 ASP.NET MVC3 站点部署了一个更新(它已经配置)并且我收到 IIS 蓝屏死机说明
HTTP 错误 500.0 - 内部服务器错误
由于发生内部服务器错误,无法显示页面。
然而; 应用程序事件日志中没有显示任何内容,我希望在其中看到条目的(更)详细描述。
我该如何诊断这个问题?
我目前正在尝试让 nginx 在发送某种 50* 错误时向响应添加标头。我已经在 http 块上有一个 add_header 指令,除了它似乎是错误之外,所有请求都会得到尊重。我还在其中一个 vhost 中尝试了以下操作:
location /mediocregopheristhecoolest {
add_header X-Test "blahblahblah";
return 502;
}
Run Code Online (Sandbox Code Playgroud)
转到该页面会给我一个 502,但没有标题。这只是 nginx 不做的事情,还是我做错了?
我有 ii8,我试图将我的 asp.net web api 部署到它。我想我做错了什么,因为当我尝试查看我的 api 是否正常工作时,我收到了 500 错误。
但是它没有告诉我错误是什么。如何获得更详细的信息?
我在 Mac 上尝试在本地托管一个旧的基于 ASP 的站点的副本以进行测试。还没有(还)为 Apache 使用 mod_mono,只是基本的独立 XSP 服务器。刚刚到了我至少可以从本地主机显示 ASP.NET 错误页面的程度,这已经足够了。
如果我将它指向 .htm 或 .html 文件,它会毫无怨言地提供它。但是我尝试的每个 ASP 文件都会出现“禁止访问”错误。
我猜这意味着我需要一个 XSP 配置文件,比如.htaccess或web.config文件,并且需要将这些扩展名列入白名单,作为它将提供的服务。(这很愚蠢,因为为什么有人会为了托管静态 HTML 文件而费心安装 Mono 和 XSP?)
xsp4 --help没有帮助,man xsp也没有帮助,所以我在这里。
Application Exception
System.Web.HttpException
Access to file '/anysite/whateverpage.asp' is forbidden.
Description: HTTP 500.Error processing request.
Details: Error processing request.
Exception stack trace:
at System.Web.DefaultHttpHandler.BeginProcessRequest (System.Web.HttpContext context, System.AsyncCallback callback, System.Object state) [0x0005e] in <79d7580b4e46487286a5f8386a98413d>:0
at System.Web.HttpApplication+<Pipeline>c__Iterator1.MoveNext () [0x00d9c] in <79d7580b4e46487286a5f8386a98413d>:0
at System.Web.HttpApplication.Tick () …Run Code Online (Sandbox Code Playgroud) 我们最近有来自 nginx 本身的大约 500 个不知何故没有记录(我们有屏幕截图,但日志中没有任何内容)。这本身就很奇怪,因为通常会出现错误。无论如何,我想知道是否有类似连接池大小的东西,如果达到最大值会导致 500?我们已经将其与最近的流量激增相关联,但这并不是决定性的。
任何人对如何开始处理这样的问题有任何想法吗?
有时,nginx 不会将任何数据发送回浏览器(ERR_EMPTY_RESPONSE在 Chrome 中)。
检查服务器 error.log 后,我发现这些奇怪的消息:
2013/10/20 23:57:40 [alert] 29146#0: *35 pread() read only 4653 of 4656 from "~/htdocs/index.html" while sending response to client, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2013/10/20 23:57:45 [alert] 29146#0: *36 pread() read only 4653 of 4656 from "~/htdocs/index.html" while sending response to client, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
2013/10/20 23:58:18 [alert] 29146#0: *38 pread() read only 4650 of 4653 from "~/htdocs/index.html" while sending …Run Code Online (Sandbox Code Playgroud) 我负责一个重定向和分割请求的 nginx 服务器。在我们的生产引擎中,我们运行 nginx 1.2.1,在测试机器上我们运行 1.4.1。配置是相同的,但在生产环境中我总是得到一个,500 Internal Server Error"但在测试环境中一切运行良好。我总是检查Nginx的access.log和error.log。但没有什么可担心的。
如何分析该错误并进一步调查该错误的原因?
[我在 Nginx 论坛上发布了这个,但一周后没有回复,所以在这里尝试]
我是 Linux 和 Nginx 新手,但已经学会了足够的知识来安装和运行它,并作为两个内部网络服务器的简单反向代理工作。这几个月来一直运行良好,但我最近开始收到 500 个错误。
这是/var/log/nginx/error.log
(我已将我们的公司名称替换为“companyname.com”并将我们的公共 WAN IP 地址替换为
2020/02/10 15:17:49 [alert] 1069#1069: *1011 socket() failed (24: Too many open files) while connecting to upstream, client: 10.10.10.1, server: web1.companyname.com, request: "GET / HTTP/1.0", upstream: "https://<WANIP>:443/", host: "web1.companyname.com"
2020/02/10 15:21:41 [alert] 1069#1069: *2022 socket() failed (24: Too many open files) while connecting to upstream, client: 10.10.10.1, server: web2.companyname.com, request: "GET / HTTP/1.0", upstream: "https://<WANIP>:443/", host: "web2.companyname.com"
2020/02/10 15:33:28 [alert] 1084#1084: *19987 socket() failed (24: …Run Code Online (Sandbox Code Playgroud) 我有一个运行 mod_proxy 和 mod_proxy_balancer 的 Apache httpd Web 服务器。整个 /somedir 被发送到 2 台工作机器,这些机器使用循环调度程序为请求提供服务。每台工作机器都在运行 IIS,但我认为这并不重要。
我可以通过重复请求包含机器 IP 地址的单个页面来演示负载平衡器的工作,并且可以看到它以可预测的循环方式从一个页面切换到另一个页面。
如果我关闭其中一台 IIS 服务器并开始请求相同的页面,则每个页面仅包含已启动机器的 IP 地址。但是,如果我启动 IIS 并且不运行我的 IIS 应用程序,那么 /somedir 将返回 500(应该如此)。
我已将 500 添加到故障状态(Apache 2.4)中,因此当它遇到错误时,Apache 会将工作机器置于错误状态。尽管如此,Apache 仍然将代理错误返回给客户端。如何让 Apache 捕获代理故障并以与连接故障相同的方式使用不同的工作器重试。
更新
在 StackOverflow 中提出了几乎相同的问题,因此将它们结合在一起。
在我的网站上访问某些 PHP 脚本时,我收到了可怕的 500 错误消息。我想知道修复它有什么问题,但 Nginx 没有在我指定的日志文件中记录任何 PHP 错误。这是我的服务器块:
server {
listen 80;
server_name localhost;
access_log /home/whitey/sites/localhost/logs/access.log;
error_log /home/whitey/sites/localhost/logs/error.log error;
root /home/whitey/sites/localhost/htdocs;
index index.html index.php /index.php;
location / {
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/phpfpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
expires max;
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,有些 PHP 脚本可以正常工作,而有些则不行。所以 PHP 不存在全局问题,只是这些脚本中的某些内容导致 Nginx 抛出 500 错误。
我怎样才能找到这个问题的根源?唯一的问题error.log是找不到有关 favicon.ico 的错误。
500-error ×10
nginx ×6
.net ×1
apache-2.2 ×1
apache-2.4 ×1
asp-classic ×1
asp.net-mvc ×1
http-headers ×1
iis ×1
iis-7.5 ×1
logging ×1
mac-osx ×1
mod-proxy ×1
mono ×1
php-fpm ×1
xsp2 ×1