IIS反向代理无法路由至重写地址,反而加载静态文件
IIS反向代理Jira返回404:StaticFile Handler优先执行问题
Jira已正常部署,直接访问http://152.10.132.68:8080/jira可正常响应,但通过IIS配置反向代理后,请求并未转发到Jira,反而IIS尝试读取网站关联文件夹的静态内容,最终返回404错误。
排查信息
- 已调整IIS各类设置但无效,相同配置的测试服务器可正常加载Jira
- Jira站点部署在Default Web Site下,与其他站点共存
- 启用Failed Request Tracing分析后发现:重写规则执行成功,但IIS优先选择了StaticFile handler处理请求,尝试在文件系统中查找
/jira/目录或文件,因不存在返回404.4错误
解决方案
需阻止StaticFile handler被选中,通过配置更具体的重写规则并设置stopProcessing="true",让重写规则执行后直接终止后续处理流程,避免IIS去查找本地静态文件。
配置示例:
<rewrite> <rules> <rule name="Reverse Proxy to Jira" stopProcessing="true"> <match url="^jira(/)?$" /> <!-- 精确匹配/jira或/jira/ --> <action type="Rewrite" url="http://152.10.132.68:8080/jira/{R:1}" /> <serverVariables> <set name="HTTP_X_FORWARDED_PROTO" value="https" /> </serverVariables> </rule> </rules> </rewrite>
内容的提问来源于stack exchange,提问作者codeMonster
相关产品推荐
相关产品推荐

