我在尝试对Windows服务器使用X-Forwarded-for日志筛选器时遇到一些问题。
我从http://devcentral.f5.com/weblogs/Joe/archive/2009/08/19/x_forwarded_for_log_filter_for_windows_servers.aspx下载了二进制文件(x86版本)并遵循安装手册,
但是当我试图打开我网站上的网页时,我会得到一个错误:
HTTP错误500.0-内部服务器错误
在ISAPI筛选器“C:\ ISAPI筛选器\f5xfHttpModule\f5xfHttpModule.dll”上调用GetProcaddress失败
模块iis web core
通知未知
处理程序静态文件
错误代码0x8007007F
系统信息:
操作系统-Windows Server 2008数据中心,32位
IIS-7.0版
.NET框架版本-4.0
isapi扩展和isapi过滤器安装正常。
过滤器被添加到isapi和cgi限制中,也被添加到web应用程序的isapi过滤器中。
IIS用户(uisr)对f5xfhttpmodule.dll具有读取和执行访问权限。
Web应用程序应用程序池以集成模式在.NET Framework 4上工作,即流程模型标识-网络服务(将流程模型更改为应用程序池没有帮助)。
调试版本不创建任何日志文件:(
我在Windows事件日志中看到的内容:
未能加载http筛选器dll c:\isapi filters\f5xfhttpmodule\f5xfhttpmodule.dll。数据有错误。
无法加载站点%sitename%的所有ISAPI筛选器。因此站点启动中止。
不过,该过滤器在Windows7 x64+IIS7.5中运行良好。通过在Web应用程序池设置中将“启用32位应用程序”设置为true,可以修复此处描述的错误。
请帮我解决这个问题。
对不起我的英语:)
最佳答案
好吧,我已经想好了。
我使用下载的HTTP
模块作为ISAPI
过滤器,即不在i i s中安装它-这是我的错误,现在我从http module distrib(http://devcentral.f5.com/weblogs/Joe/archive/2009/12/23/x-forwarded-for-http-module-for-iis7-source-included.aspx)运行install.ps1脚本,一切正常!
感谢乔·普鲁特的帮助!