wordpress 未加载跨域字体

vohkndzv  于 2022-11-22  发布在  WordPress
关注(0)|答案(1)|浏览(265)

我在数字海洋上建立了一个网站,网址是http://sugarcoated.co。这个域名是通过Hover买的。
此站点的IP地址为45.55.209.201
当我在浏览器中加载IP地址http://45.55.209.201时,所有字体都能正常加载,但当我加载http://sugarcoated.co时,我收到CORS错误消息。
CORS策略已阻止从源“http://sugarcoated.co "访问”http://45.55.209.201/wp-content/themes/sugarcoated/css/fonts/montserrat/montserrat-regular-webfont.woff2"处的字体:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源“http://sugarcoated.co”。
我是新的服务器配置,不知道我可能错过了哪些设置。
在hover中,我已经这样设置了域:

在Digital Ocean中,我的DNS记录如下:

olhwl3o2

olhwl3o21#

对于浏览器来说,http://sugarcoated.cohttp://45.55.209.201是完全不同的起源。
https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policyhttps://en.wikipedia.org/wiki/Same-origin_policy所述,浏览器在Web安全模型的核心遵循同源策略,以防止跨源请求某些类别的资源。
字体是默认情况下禁止跨源请求的资源类之一。
对于允许跨源字体请求的浏览器,字体来自的服务器必须发送一个Access-Control-Allow-Origin响应头来允许它。
因此,对于允许http://sugarcoated.co使用来自http://45.55.209.201的字体的浏览器,来自http://45.55.209.201/wp-content/themes/sugarcoated/css/fonts/…的响应必须包含Access-Control-Allow-Origin: http://sugarcoated.co响应头,以仅允许http://sugarcoated.co使用字体,或者Access-Control-Allow-Origin: *允许任何源使用字体。
或者您只需要在需要字体的文档源代码中将http://45.55.209.201更改为http://sugarcoated.co,或者只使用相对URL(如/wp-content/themes/sugarcoated/css/fonts/montserrat/montserrat-regular-webfont.woff2)而不是包含主机名的绝对URL。
在下面,http://sugarcoated.cohttp://45.55.209.201实际上是同一个服务器,但这并不重要。浏览器无法知道这一点。要使浏览器认为它们是同一个源,主机部分必须完全匹配,字符对字符。

相关问题