我在尝试使用适用于 Windows 服务器的 X-Forwarded-For 日志过滤器时遇到了一些问题。
我已经下载了二进制文件(x86 版本),并按照 http://devcentral.f5.com/weblogs/Joe/archive/2009/08/19/x_forwarded_for_log_filter_for_windows_servers.aspx,
但是当我尝试在我的网站上打开网页时,出现错误:
HTTP 错误 500.0 - 内部服务器错误
在 ISAPI 过滤器“C:\ISAPI Filters\F5XFFHttpModule\F5XFFHttpModule.dll”上调用 GetProcAddress 失败
模块 IIS Web 核心
通知未知
处理程序静态文件
错误代码0x8007007f
系统信息:
操作系统 - Windows Server 2008 Datacenter,32 位
IIS - 7.0
.NET Framework 版本 - 4.0
ISAPI 扩展和ISAPI 过滤器安装正常。
过滤器已添加到 ISAPI 和 CGI 限制以及 Web 应用程序的 ISAPI 过滤器中。
IIS 用户 (UISR) 具有 F5XFFHttpModule.dll 的读取和执行访问权限。
Web 应用程序应用程序池在 .NET Framework 4 上以集成模式、流程模型标识 - NetworkService 运行(将流程模型更改为 ApplicationPool 没有帮助)。
调试版本不会创建任何日志文件:(
我在 Windows 事件日志中看到的内容:
HTTP 筛选器 DLL C:\ISAPI Filters\F5XFFHttpModule\F5XFFHttpModule.dll 加载失败。数据有错误。
无法加载站点“%sitename%”的所有 ISAPI 筛选器。因此站点启动中止。
然而,该过滤器在 Windows7 x64 + IIS7.5 中运行良好。通过在 Web 应用程序应用程序池设置中将“启用 32 位应用程序”设置为 true 可以修复此处描述的错误。
请帮我解决这个麻烦。
对不起我的英语:)
I've encountered some problems trying to use X-Forwarded-For Log Filter for Windows Servers.
I've downloaded binaries (x86 version) and followed to installation manual from http://devcentral.f5.com/weblogs/Joe/archive/2009/08/19/x_forwarded_for_log_filter_for_windows_servers.aspx,
but when I try to open a web-page on my site I get an error:
HTTP Error 500.0 - Internal Server Error
Calling GetProcAddress on ISAPI filter "C:\ISAPI Filters\F5XFFHttpModule\F5XFFHttpModule.dll" failed
Module IIS Web Core
Notification Unknown
Handler StaticFile
Error Code 0x8007007f
System Info:
OS - Windows Server 2008 Datacenter, 32-bit
IIS - 7.0
.NET Framework Version - 4.0
ISAPI Extensions & ISAPI Filters installed ok.
Filter is added to ISAPI and CGI Restrictions and to ISAPI filters for web-application too.
IIS user (UISR) has read and execute access permissions for F5XFFHttpModule.dll.
Web-application application pool works on .NET Framework 4 in Integrated mode, Process Model Identity - NetworkService(changing Process Model to ApplicationPool doesn't help).
Debug version doesn't create any log file:(
What I see in windows event log:
The HTTP Filter DLL C:\ISAPI Filters\F5XFFHttpModule\F5XFFHttpModule.dll failed to load. The data ithe error.
Could not load all ISAPI filters for site '%sitename%'. Therefore site startup aborted.
However the filter works fine in Windows7 x64 + IIS7.5. An error described here is fixed by setting "Enable 32-bit Application" to true in web-application application pool settings.
Be so kind to help me to puzzle out this trouble please.
Sorry for my English :)
发布评论
评论(1)
好吧,我已经弄清楚了。
我使用下载的
HTTP
模块作为ISAPI
过滤器,即没有将其安装在 IIS 中 - 这是我的错误现在我从 HTTP 模块 distrib(http://devcentral.f5.com/weblogs/Joe/archive/2009/12/23/x-forwarded-for-http-module-for-iis7-source-included.aspx),一切正常!感谢乔·普鲁特的帮助!
Ok, I have figured it out.
I use downloaded
HTTP
module asISAPI
filter, i.e without installing it in IIS - it's my error Now I run install.ps1 script from HTTP module distrib(http://devcentral.f5.com/weblogs/Joe/archive/2009/12/23/x-forwarded-for-http-module-for-iis7-source-included.aspx), and all work fine!thanks to Joe Pruitt for help!