Apple 设备 (Safari) 上的网站图像无法从其他服务器加载

KJS*_*KJS 2 apache iphone safari ipad ios

几个月来我一直在寻找解决方案,但找不到它,所以我在这里尝试。

我们有几个响应式 Bootstrap 4 网站都存在一个问题: - iPhone 和 iPad 设备上的图像无法加载。仅在一次或多次刷新后。

我们是这样在最高 SSL 级别下运行它的:

- website domain: www.website.com
- images location: subdomain.otherdomain.com
Run Code Online (Sandbox Code Playgroud)

两者位于同一服务器和 SSL 证书上,并且 SSL 已正确安装。我必须在这里指出,没有“www”的域不在 SSL 中。

这是适用于任何其他设备上的任何其他浏览器的图像标签:

<img class="img-fluid fit-image" src="https://subdomain.otherdomain.com/subdir/2020/img-name.jpg" alt="Not working"></a>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?或者有同样经历的人吗?

KJS*_*KJS 5

解决了!

花了一段时间才弄清楚这个问题。如果您遇到 Safari 中无法加载图像的情况,这里是终极解决方案。

这是苹果所有设备上 Safari 中的一个恼人的错误,即使安装了 SSL 证书,也无法加载来自子域的 url 请求。

解决方案非常简单:如果 sub.domain.com 与超过 10 个域名共享 SSL 证书,Safari 不喜欢它。

情况已说明

  1. 您有一个在domain.com 上运行的https 网站。
  2. 图像和其他文件是从最高 SSL 级别的“sub.domain.com”加载的。
  3. SSL证书与10多个域名共享。

然后:所有 Apple 设备上的 Safari 都会说:让我们阻止来自“sub.domain.com”的图像。(即使是相同的域名。)

解决方案

为了确保加载到 Safari 中的domain.com 或anydomain.com 中的图像和其他文件的安全性,“sub.domain.com”中的所有内容都必须位于单个证书上。最便宜的证书已经可以使用了。Safari 只是在证书中寻找干净的数据,而不会受到同一证书中其他域的太多干扰。额外建议:最好的方法是从完全其他域加载文件: https: //domain2.media

结论

将数据从另一个 SSL 位置加载到网站时,请确保 https 位置有自己的单个 SSL。