Azure APIM中HTTP转HTTPS重定向:能否在API范围实现?
Azure APIM API范围配置HTTP转HTTPS重定向
完全可以在API范围完成HTTP到HTTPS的重定向配置,具体操作和策略代码如下:
- 登录Azure门户,打开你的APIM实例,在左侧菜单的「API」列表中选中目标API。
- 切换到「策略」标签页,在「入站」策略编辑区域添加以下代码:
<choose> <when condition="@(context.Request.Url.Scheme == "http")"> <redirect> <set-status code="301" reason="Moved Permanently" /> <set-header name="Location" exists-action="override"> <value>@($"https://{context.Request.Url.Host}{context.Request.Url.Path}{context.Request.Url.Query}")</value> </set-header> </redirect> </when> </choose>
代码说明
- 这段策略会检测当前API的入站请求协议,若为HTTP则触发重定向。
- 使用
301状态码表示永久重定向,若需要临时重定向可改为302。 - 通过
context.Request.Url相关属性自动拼接对应的HTTPS地址,确保路径和查询参数完整保留。
如果需要对APIM内所有API统一配置该规则,也可以在「全局」策略中添加相同代码,但API范围的配置仅作用于当前API,更适合差异化需求的场景。
内容的提问来源于stack exchange,提问作者ALOK
相关产品推荐
相关产品推荐

