IIS部署Web应用移动端Chrome/Safari无法HTTP重定向至HTTPS
我对IIS配置经验较为有限,多日排查该故障仍未定位根因,初步判断问题出在配置环节,现将相关信息整理如下:
环境配置
| 服务/框架 | 版本号 |
|---|---|
| Windows Server | 2016 |
| IIS | 10.0.14393.0 |
| 应用后端:.NET | 4.7.2 |
| 应用前端:Angular | 10.0.8 |
关键补充信息:站点部署于子域名,访问地址格式为:https://applicationName.domain.com
故障现象
- 安卓端Chrome浏览器、iOS端Safari浏览器访问站点时,会直接加载HTTP版本页面,不会自动跳转至HTTPS
- 安卓端Brave、Ecosia、Firefox、Opera等其余浏览器均可正常重定向至HTTPS
- 手动在URL的HTTP后补充s、直接输入HTTPS地址时,站点可正常加载
已完成配置
- 已为IIS安装URL Rewrite模块,重定向规则配置如下:
<system.webServer> <rewrite> <rules> <rule name="HTTPS Redirect" enabled="true" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll"> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{REQUEST_URI}" appendQueryString="false" /> </rule> </rules> </rewrite> </system.webServer>
- 已核查后端代码,已启用HTTPS重定向中间件,代码配置为:
app.UseHttpsRedirection();
待解答疑问
- 我是否遗漏了某些显而易见的配置项?
- Angular框架是否存在相关机制,会阻止Chrome、Safari跳转至HTTPS?
- IIS是否还有其他与HTTPS跳转相关的配置项我未关注到?
- 什么原因会导致Chrome、Safari出现此类异常跳转行为?
恳请各位提供排查思路或解决方案,非常感谢。
内容的提问来源于stack exchange,提问作者BenjaminD
相关产品推荐
相关产品推荐

