我有许多现有的 ASMX Web 服务在 IIS7 上运行,并且想要更改它们,以便所有请求和响应都必须通过 HTTPS 进行。
该站点还运行其他页面,如 PHP 和 Classic ASP,因此我不能仅更改站点根目录来提供 HTTPS 页面。
我如何为每个 ASMX 服务(应用程序)设置它,以便如果有人访问 http://www.mydomain.com/MyService/ServiceName.asmx它要么将它们重定向到 https://www.mydomain.com/MyService/ServiceName.asmx或返回 404 错误?
想法和最佳方法?
最佳答案
您是否尝试过 URL 重写?
<rewrite>
<rules>
<rule name="Force HTTPS" stopProcessing="true">
<match url="(.*)/ServiceName.asmx" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
关于iis-7 - 如何为 ASMX 服务强制实现 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19242207/