在此步骤网站工作。然后我为IIS安装URL Rewrite模块。不要为URL重写添加任何规则,但是当我在浏览器中打开网站时,此站点的应用程序池将停止。
错误消息:
HTTP Error 503. The service is unavailable.
日志来自
%SystemDrive%\Windows\System32\LogFiles\HTTPERR
#Software: Microsoft HTTP API 2.0
#Version: 1.0
#Date: 2019-04-29 13:34:12
#Fields: date time c-ip c-port s-ip s-port cs-version cs-method cs-uri sc-status s-siteid s-reason s-queuename
2019-04-29 13:34:12 127.0.0.1 49200 127.0.0.1 80 HTTP/1.1 GET / 503 5 AppOffline test.com29 13:34:12 127.0.0.1 49200 127.0.0.1 80 HTTP/1.1 GET / 503 5 AppOffline test.com
此目录没有日志文件:
%SystemDrive%\inetpub\logs\LogFiles
当一个卸载URL Rewrite模块时,网站池开始正常工作。
为什么doest URL Rewrite模块会使CLR停止?
UPDATE
事件日志消息:
The Module DLL C:\Windows\system32\inetsrv\rewrite.dll failed to load. The data is the error.
然后我添加到applicationHost配置bitness32
C:\Windows\System32\inetsrv\config\applicationHost
<add name="RewriteModule" image="%SystemRoot%\system32\inetsrv\rewrite.dll" preCondition="bitness32" />
使用bitness32它不会停止池,但我在浏览器中收到此错误:
HTTP Error 500.0 - Internal Server Error
Module "RewriteModule" could not be found
在事件日志中,我找到了相同的消息。即模块DLL C:\ Windows \ system32 \ inetsrv \ rewrite.dll无法加载。数据是错误的。
对我来说,有效的解决方案是替换“rewrite.dll”。在我们的其他2台服务器中它工作正常并且它们是在2017年安装的。所以我只是从该服务器复制了“rewrite.dll”并将其替换在我的新服务器上。
对我来说,dll的旧版本(v7.1.1952.0)可以使用,但是最新设置附带的新版本(v7.1.1993.2351)不起作用。
顺便说一句,你需要在更换dll之前停止IIS并重新开始。
您是否在应用程序事件日志中有任何条目指向崩溃的原因,您可以在调试diag中设置崩溃规则以及在调试diag中收集自动崩溃转储然后在那里进行分析,它会给你如果事件日志对您没有多大帮助,请更深入了解。 %SystemDrive%\ inetpub \ logs \ LogFiles将没有文件,这是预期的,因为该网站已经崩溃和禁用,请求甚至没有到达网站