【问题标题】:ERR_SSL_PROTOCOL_ERROR with image sources Razor pages带有图像源的 ERR_SSL_PROTOCOL_ERROR Razor 页面
【发布时间】:2021-06-08 01:09:18
【问题描述】:

我目前正在开发一个带有 Razor 页面的 ASP.NET Core 应用程序。 API 端点托管在预生产服务器中。当我通过 api 获得与 api 存储在同一服务器中的图像链接并希望在剃须刀页面中显示它时,由于 ERR_SSL_PROTOCOL_ERROR,图像无法显示。当我检查元素并获取图像标签的 src 并在新选项卡中打开它时,它将打开。此外,如果我在 html 页面中使用该源,它仍然会打开。由于预生产服务器没有配置 ssl 证书,剃刀页面的 PageModel 抽象类是否有可能对此进行任何验证,因为它是在纯 html 上工作的? 编辑:
我从 API 提供图像标记为 html:

<a href ="http://imagesourceIPExample">
<img src="http://imagesourceIPExample">
</a>

我从 ajax 请求中获取该字符串

$.ajax({
//ajax call params,
success: function(data){
 $(`#messageDiv`).append(data.message);
}
}).

现在,当我检查页面并单击锚标记中的链接时,我会正常打开。另外,如果我从视图中单击它。但图像未显示,控制台显示 SSL_PROTOCOL_ERROR。图片链接是http。

【问题讨论】:

  • 图片链接是https吗?请分享一些代码,说明您使用从 api 获取的链接正在做什么。
  • @Alexander 刚刚编辑了它

标签: asp.net asp.net-core razor razor-pages


【解决方案1】:

首先,razor PageModel 不验证图像加载。

您似乎正在使用安全的https 站点,然后当您附加普通的http 图像链接时,浏览器由于其Mixed Content 策略而拒绝加载它们。但是,当您在单独的窗口中加载图像时,它会加载得很好,因为“混合内容”问题消失了,您只加载 http 资源,不涉及 https

考虑将您的图片链接转换为https,它应该可以解决问题。

【讨论】:

    猜你喜欢
    • 2020-07-05
    • 2023-02-02
    • 2021-12-13
    • 2018-01-26
    • 2021-06-27
    • 2019-03-12
    • 2019-06-25
    • 1970-01-01
    • 2019-11-22
    相关资源
    最近更新 更多