应用程序池因网络请求而停止

发布于 2025-01-03 02:49:19 字数 790 浏览 3 评论 0原文

我有一个网站几个月来一直运行良好。今天早上我开始收到 503 服务不可用错误。检查 IIS 后,我注意到应用程序池已停止。由于我之前遇到过问题,我怀疑 WebRequest 是问题所在。所以我注释掉了网站的 WebRequest 部分,你猜怎么着,应用程序池不再被禁用。我怀疑还有另一个安全更新,但我不知道还需要做什么才能让 WebRequest 再次工作。

我已经尝试过的事情:
1) aspnet_regiis -u 然后 -i
2) 重新安装.net框架

详细信息:我使用 NetworkService 帐户作为 asp.net v4.0 应用程序池,并使用 Windows 身份验证

事件日志中的错误是这样的:
“HipIISEngineStub.dll 加载失败。数据错误。”

var request = (HttpWebRequest)WebRequest.Create(path1);
request.Credentials = CredentialCache.DefaultCredentials;
request.PreAuthenticate = true;            

var getResponse = new Func<WebRequest, WebResponse>(req => req.GetResponse());

try
{
    return getResponse(request).GetResponseStream();
}

I have a site that has been working fine for months. This morning I started getting 503 Service Unavailable errors. After checking IIS, I noticed that the application pool is being stopped. Since I had issues with it before, I suspected WebRequest to be the problem. So I commented out the WebRequest portion of the site, and guess what, the application pool no longer gets disabled. I suspect there has been another security update and I can't figure out what else I need to do to get the WebRequest to work again.

Things I have already tried:
1) aspnet_regiis -u then -i
2) reinstalling .net framework

More info: I use NetworkService account for the asp.net v4.0 app pool with Windows Authentication

The error from the event log is this:
"HipIISEngineStub.dll failed to load. The data is the error."

var request = (HttpWebRequest)WebRequest.Create(path1);
request.Credentials = CredentialCache.DefaultCredentials;
request.PreAuthenticate = true;            

var getResponse = new Func<WebRequest, WebResponse>(req => req.GetResponse());

try
{
    return getResponse(request).GetResponseStream();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

魄砕の薆 2025-01-10 02:49:19

这与McAfee Host Intrusion Prevention相关。您的 McAfee 许可证是否已过期?或者您有旧版本需要更新?检查您的迈克菲安装。也许重新安装它。

如果您最近卸载 McAfee,或者以某种方式更改了安装,则您的 ISAPI 设置中可能仍然存在对它的引用。尝试删除 applicationHost.config 中对 MfeEngine 的引用:

https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST

引用页面(我的重点)

  • 以管理员身份启动记事本!
  • 导航至:%windir%\system32\inetsrv\config
  • 打开文件 applicationHost.config 以在记事本中进行编辑。
  • 编辑 globalModules 部分并删除以下行:
<add name="MfeEngine" image="%windir%\System32\inetsrv\HipIISEngineStub.dll" />
  • 编辑模块部分并删除以下行:
<add name="MfeEngine" />
  • 编辑完 applicationHost.config 文件后,保存该文件,然后使用 iisreset 或重新启动系统来重新启动 IIS 服务器。

This is related to McAfee Host Intrusion Prevention. Can it be that your McAfee license has run out? Or that you have an old version that needs to be updated? Look over your McAfee installation. Maybe reinstall it.

If you have uninstalled McAfee recently, or changed the installation somehow, there is probably still a reference to it in your ISAPI settings. Try to remove the reference to the MfeEngine in your applicationHost.config:

https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST

Quote from the page (my emphasis):

  • Start Notepad as Administrator!
  • Navigate to: %windir%\system32\inetsrv\config
  • Open the file applicationHost.config for editing in Notepad.
  • Edit the globalModules section and remove the following line:
<add name="MfeEngine" image="%windir%\System32\inetsrv\HipIISEngineStub.dll" />
  • Edit the modules section and remove the following line:
<add name="MfeEngine" />
  • After you have finished editing the applicationHost.config file, save the file, then restart the IIS server using iisreset or by restarting the system.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文