这是ARR警告导致我的404?
问题描述:
我在URL重定向/重写过程中遇到了404错误,而且我无法确定导致它的原因。这是ARR警告导致我的404?
的警告是:
REWRITE_DISABLED_KERNEL_CACHE
这里是我的规则:
<rule name="TFS Redirect" stopProcessing="true">
<match url="^((?!tfs).)*$" />
<conditions>
<add input="{HTTP_HOST}" pattern="tfs.domain.com" />
</conditions>
<action type="Redirect" url="http://tfs.domain.com/tfs" />
</rule>
<rule name="TFS Rewrite" stopProcessing="true">
<match url="^tfs(.*)" />
<action type="Rewrite" url="http://server3:8080/{R:0}" />
</rule>
重定向规则似乎是工作,我在浏览器中得到tfs.domain.com/tfs
当我浏览到tfs.domain.com
。
但后来我得到的404我已经看过了失败请求日志,但他们没有透露太多。有this question,但恐怕我对这个讨论意味着什么绝对不知所措。也许这是我的问题的解决方案,但我不知道他们在说什么。不幸的是,这远远超过了我的头脑。
那么... ARR警告是否会导致404?如果没有,我怎么才能找到这个问题的根源呢?
精简视图
No. EventName Details Time --- ------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------- 1. GENERAL_REQUEST_START SiteId="1", AppPoolId="DefaultAppPool", ConnId="1610612761", RawConnId="0", RequestURL="http://tfs.domain.com:80/favicon.ico", RequestVerb="GET" 01:03:35.718 2. GENERAL_SET_REQUEST_HEADER HeaderName="AspFilterSessionId", HeaderValue="", Replace="true" 01:03:35.718 3. GENERAL_ENDPOINT_INFORMATION RemoteAddress="192.168.0.1", RemotePort="54278", LocalAddress="192.168.0.12", LocalPort="80" 01:03:35.718 4. GENERAL_REQUEST_HEADERS Headers="Cache-Control: no-cache 01:03:35.718 Connection: keep-alive Pragma: no-cache Accept: image/webp,image/*,*/*;q=0.8 Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8 Host: tfs.domain.com Referer: http://tfs.domain.com/tfs User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 DNT: 1 " 5. GENERAL_GET_URL_METADATA PhysicalPath="", AccessPerms="513" 01:03:35.718 6. HANDLER_CHANGED OldHandlerName="", NewHandlerName="StaticFile", NewHandlerModules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule", NewHandlerScriptProcessor="", NewHandlerType="" 01:03:35.718 7. MODULE_PRECONDITION_NOT_MATCH Name="UrlRoutingModule-4.0", Precondition="managedHandler,runtimeVersionv4.0" 01:03:35.718 8. MODULE_PRECONDITION_NOT_MATCH Name="ScriptModule-4.0", Precondition="managedHandler,runtimeVersionv4.0" 01:03:35.718 9. MODULE_PRECONDITION_NOT_MATCH Name="OutputCache", Precondition="managedHandler" 01:03:35.718 10. MODULE_PRECONDITION_NOT_MATCH Name="Session", Precondition="managedHandler" 01:03:35.718 11. MODULE_PRECONDITION_NOT_MATCH Name="WindowsAuthentication", Precondition="managedHandler" 01:03:35.718 12. MODULE_PRECONDITION_NOT_MATCH Name="FormsAuthentication", Precondition="managedHandler" 01:03:35.718 13. MODULE_PRECONDITION_NOT_MATCH Name="DefaultAuthentication", Precondition="managedHandler" 01:03:35.718 14. MODULE_PRECONDITION_NOT_MATCH Name="RoleManager", Precondition="managedHandler" 01:03:35.718 15. MODULE_PRECONDITION_NOT_MATCH Name="UrlAuthorization", Precondition="managedHandler" 01:03:35.718 16. MODULE_PRECONDITION_NOT_MATCH Name="FileAuthorization", Precondition="managedHandler" 01:03:35.718 17. MODULE_PRECONDITION_NOT_MATCH Name="AnonymousIdentification", Precondition="managedHandler" 01:03:35.718 18. MODULE_PRECONDITION_NOT_MATCH Name="Profile", Precondition="managedHandler" 01:03:35.718 19. MODULE_PRECONDITION_NOT_MATCH Name="UrlMappingsModule", Precondition="managedHandler" 01:03:35.718 20. MODULE_PRECONDITION_NOT_MATCH Name="ServiceModel-4.0", Precondition="managedHandler,runtimeVersionv4.0" 01:03:35.718 21. URL_REWRITE_START RequestURL="/favicon.ico", Scope="Distributed", Type="Inbound" 01:03:35.718 22. RULE_EVALUATION_START RuleName="TFS Redirect", RequestURL="favicon.ico", QueryString="", PatternSyntax="Regex", StopProcessing="true", RelativePath="/" 01:03:35.718 23. PATTERN_MATCH Pattern="^((?!tfs).)*$", Input="favicon.ico", Negate="false", Matched="true" 01:03:35.718 24. CONDITIONS_EVALUATION_START LogicalGrouping="MatchAll" 01:03:35.718 25. CONDITION_EVALUATION Input="{HTTP_HOST}", ExpandedInput="tfs.domain.com", MatchType="Pattern", Pattern="tfs.domain.com", Negate="false", Succeeded="true" 01:03:35.718 26. CONDITIONS_EVALUATION_END Succeeded="true" 01:03:35.718 27. REDIRECT_ACTION Substitution="https://tfs.domain.com/tfs", RedirectURL="https://tfs.domain.com/tfs", AppendQueryString="true", RedirectType="Permanent" 01:03:35.718 28. RULE_EVALUATION_END RuleName="TFS Redirect", RequestURL="https://tfs.domain.com/tfs", QueryString="", StopProcessing="true", Succeeded="true" 01:03:35.718 29. REWRITE_DISABLED_KERNEL_CACHE 01:03:35.718 Warning 30. GENERAL_SET_RESPONSE_HEADER HeaderName="Location", HeaderValue="https://tfs.domain.com/tfs", Replace="true" 01:03:35.718 31. URL_REWRITE_END RequestURL="https://tfs.domain.com/tfs" 01:03:35.718 32. GENERAL_SET_RESPONSE_HEADER HeaderName="X-Powered-By", HeaderValue="ASP.NET", Replace="false" 01:03:35.718 33. GENERAL_NOT_SEND_CUSTOM_ERROR Reason="SETSTATUS_SUCCESS" 01:03:35.718 34. GENERAL_FLUSH_RESPONSE_START 01:03:35.718 35. GENERAL_RESPONSE_HEADERS Headers="Content-Type: text/html; charset=UTF-8 01:03:35.718 Location: https://tfs.domain.com/tfs Server: Microsoft-IIS/10.0 X-Powered-By: ASP.NET " 36. GENERAL_RESPONSE_ENTITY_BUFFER Buffer="<head><title>Document Moved</title></head> 01:03:35.718 <body><h1>Object Moved</h1>This document may be found <a HREF="https://tfs.domain.com/tfs">here</a></body>" 37. GENERAL_FLUSH_RESPONSE_END BytesSent="370", ErrorCode="The operation completed successfully. 01:03:35.718 (0x0)" 38. GENERAL_REQUEST_END BytesSent="370", BytesReceived="400", HttpStatus="301", HttpSubStatus="0" 01:03:35.718
答
你所有的规则看起来OK。
好像你需要启用它在默认情况下禁用ARR的代理转发功能,REWRITE_DISABLED_KERNEL_CACHE
也给出了一个关于它的线索。
启用代理转发;在服务器上打开提升的命令提示符并输入以下命令。
appcmd.exe set config -section:system.webServer/proxy /enabled:"True" /commit:apphost
或者看看Creating a Forward Proxy Using Application Request Routing。
好亲切,就是这样。一个人怎么知道这个东西? – InteXX
他们受苦受难。现在你是其中之一:) –
大声笑我想是这样的:-) – InteXX