Sof*_*mur 1 cdn nginx cors font-awesome octicons
我想构建一个由 CDN 提供商加速的服务器,为我的其他网站提供静态文件。我决定使用https://www.funfun.org.cn,然后例如https://www.funfun.org.cn/libs/font-awesome.min.css和https://www.funfun.org .cn/libs/octicons.min.css应该可以被其他网站使用。
但是,当我通过本地主机中的网站测试此服务器时,我看到以下错误:
例如,
从源“ https://localhost:3000 ”访问“ https://www.funfun.org.cn/libs/octicons.woff ”上的字体已被 CORS 策略阻止:无“Access-Control-Allow-Origin” ' 标头存在于所请求的资源上。因此,不允许访问来源“ https://localhost:3000 ”。
https://www.funfun.org.cn/fonts/fontawesome-webfont.woff2?v=4.4.0其他错误与和类似https://www.funfun.org.cn/libs/octicons.ttf,等等。
在我的网站中,上面的文件没有直接调用,我只有以下两行关于字体的内容,它们必须调用.ttf和.woff2等。
<link rel="stylesheet" href="https://www.funfun.org.cn/libs/font-awesome.min.css">
<link rel="stylesheet" href="https://www.funfun.org.cn/libs/octicons.min.css">
Run Code Online (Sandbox Code Playgroud)
那么,有谁知道我可以做些什么来修复这些错误?
PS:我的nginx配置文件如下,所有文件都在 和/var/www/html/libs/下/var/www/html/fonts/。
server {
listen 443 ssl;
ssl_certificate /etc/nginx/cert/1530490648293.pem;
ssl_certificate_key /etc/nginx/cert/1530490648293.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_session_timeout 1d;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
root /var/www/html;
server_name funfun.org.cn www.funfun.org.cn;
location / {
try_files $uri $uri/ =404;
}
}
Run Code Online (Sandbox Code Playgroud)
尝试将其添加到您的配置中:
location ~* \.(eot|otf|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
expires max;
}
location / {
try_files $uri $uri/ =404;
}
Run Code Online (Sandbox Code Playgroud)
此外,您可能需要 mine.types使用以下内容更新 nginx 文件:
application/x-font-ttf ttc ttf;
application/x-font-otf otf;
application/font-woff woff;
application/font-woff2 woff2;
application/vnd.ms-fontobject eot;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10369 次 |
| 最近记录: |