【问题标题】:Hide HTTPS warning when trying to download files over HTTP with Edge尝试使用 Edge 通过 HTTP 下载文件时隐藏 HTTPS 警告
【发布时间】:2022-01-13 21:17:06
【问题描述】:
public class FilesController : ControllerBase
{        
    [HttpGet]
    [Route("api/Files/DownloadFile/{ProductID}/{FileName}/{UserID}")]
    public FileResult DownloadFile(int ProductID, string FileName, int UserID)
    {
        return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet);
    }
}

大家好,我正在使用 API 下载文件。在我的 blazor 服务器应用程序(客户端)中,当用户尝试下载任何文件(例如 .xlsx 或 .ppt 文件)时,它可以在 Chrome 和 Firefox 中运行,但在Microsoft Edge 的情况下,它给了我“pptx 文件无法安全下载”。

我的问题,我可以在 app.settings 或 web.config 中添加任何配置来绕过 SSL/TLS 问题吗?

打开查看错误信息:

【问题讨论】:

  • “API 使用的是 Http 而不是 HTTPS” - 为什么?
  • 然后使用 HTTPS。否则你做的任何事情都是不安全的。误差相当准确。我很确定 Chrome 和 Firefox 也不满意,要么你没有注意到警告,要么你使用了从互联网上截断的过时版本,他们不会抱怨。或者有人禁用了警告。不要那样做
  • 事实上,Chrome 和 Firefox 早在 之前就开始对 HTTP 站点发出大红色的内容模糊警告。声称不需要 HTTPS 的网络管理员和所有者抱怨了一段时间,但很快意识到他们有两个选择 - 修复不安全的网站或丢失所有流量。
  • 假设他们已经批准并使用 HTTPS。如果您收到有关自签名开发证书的警告,请在测试机器和客户端上信任它。这就是它的用途。事实上,有很多实际的副本询问如何信任开发证书而不是禁用它。毕竟,您必须做额外的工作才能使用 HTTP 而不是 HTTPS。
  • 使用 HTTPS 的另一个原因是您可以通过这种方式获得 HTTP/2 和 更快的性能,因为浏览器可以下载 Blazor 并行使用的无数图像、样式表和脚本

标签: c# api blazor blazor-server-side asp.net-blazor


【解决方案1】:

答案是使用 SSL/TLS 来保护 API 和 blazor 服务器应用(客户端)之间的通信。也就是说,将 HTTP(80 端口)转换为 HTTPS(443 端口)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2012-12-22
    相关资源
    最近更新 更多