我想强制所有入站连接为我的站点恢复为 HTTPS。在 StackOverflow.com 上搜索答案,得到以下代码:
<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
这很好用。现在每个进入http://mySite.com的人都会被重定向到https://mySite.com。
mySite.com 有一个子应用程序,可在 mySite.com/ajax/ 访问。我不希望此子应用程序的入站连接受到重写;连接到 /ajax 子应用程序时,应维护用户指定的原始协议(http 或 https)。我应该在这个子应用程序的 web.config 文件中放置什么来否定发生在父级的重写?
(我希望 /ajax 子站点免于 https 重写的原因是因为它可以从基于 HTTP 的第三方网页访问。如果调用 /ajax 的第三方页面是 HTTP(不是HTTPS),然后我想在调用时保留 HTTP'ness。)