【问题标题】:Securing .NET Core API on Azure - still accepting HTTP with RequireHttpsAttribute set在 Azure 上保护 .NET Core API - 仍然接受设置了 RequireHttpsAttribute 的 HTTP
【发布时间】:2017-06-14 05:53:57
【问题描述】:

我使用 POSTMAN (https://www.getpostman.com/) 测试部署到 Azure 的 API(使用 *.azurewebsites.net SSL 证书)。该 API 是标准的 MVC .NET Core API。

根据 Pluralsight 教程 (https://www.pluralsight.com/courses/aspdotnetcore-implementing-securing-api),我按照说明在 startup.cs 中添加了 RequireHttpsAttribute 选项。

services.AddMvc( opt => opt.Filters.Add(new RequireHttpsAttribute()) )

但是,当我使用来自 POSTMAN 的 HTTP(不是 HTTPS)时,我仍然会返回响应数据。

有什么想法我可能在这里做错了吗?

谢谢。

【问题讨论】:

  • RequiredHttps 不会阻止您连接到端口 80 (http),它只会强制重定向到端口 443 (https)
  • @Tseng 谢谢 - 所以它重定向到 443 并使用 SSL 来传递响应?只是我在邮递员中没有看到这一点?

标签: .net api azure asp.net-core


【解决方案1】:

您是否托管在应用服务中?如果是这样,则在前端之外没有 HTTPS。

改为检查 X-ARR-SSL 标头是否存在。
看到这个:https://stackoverflow.com/a/38726543/4148708

【讨论】:

  • 是的,我是。这很可能是当时的原因。我会试试这个并报告(明天):-)
猜你喜欢
  • 1970-01-01
  • 2014-10-29
  • 1970-01-01
  • 2018-10-06
  • 2020-08-17
  • 2022-11-04
  • 2017-02-10
  • 2017-12-04
  • 2019-08-24
相关资源
最近更新 更多