我的一个子站点是一个API项目。 它不像Web项目那样支持System.Web.Mvc中的RequireHttps过滤器。
Web API项目是我的Asp.Net项目中的一个子项目,并作为
https://example.com/api/{endpoint}
我已经考虑过写一条规则了 {代码}
<rule>
<match url="^(.(?!\/api\/))*$" />
<conditions>
<add input="{HTTP}" pattern="^get$|^head$|^post$|^put$" negate="true" />
<add input="{HTTPS}" pattern="^get$|^head$|^post$|^put$" />
</conditions>
<action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="SeeOther" />
</rule>
我想阻止所有对我的api端点的http请求。它应该只响应https
我可以通过自定义过滤器完成此操作。有没有什么办法可以从web.config做到这一点而无需编写任何额外的代码?