【问题标题】:nginx Cross-Origin Resource issuesnginx 跨域资源问题
【发布时间】:2014-09-15 22:57:33
【问题描述】:

我几乎阅读了 stackoverflow 上关于 CORS 的所有帖子,而我尝试的任何方法都不起作用。这是我的设置:

Ubuntu (digital ocean)  
nginx 
cdn: cdn77.com (not amazon) 
cloudflare
wordpress with wp fastest cache

每次完成新设置时,我都会清除 cloudflare 并重新启动 nginx。

这是我尝试过的:

.htaccess(不起作用)

<IfModule mod_headers.c>
  <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css)$">
    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Headers "Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With"
    Header set Access-Control-Allow-Methods "GET, PUT, POST"
  </FilesMatch>
</IfModule>

nginx(不工作)

add_header Access-Control-Allow-Headers "X-Requested-With";
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS";
add_header Access-Control-Allow-Origin "*";

我正在努力弄清楚为什么字体真棒不会在我位于不同域的网站上显示它的图标。

【问题讨论】:

  • 它有正确的 mime 类型吗?

标签: nginx cors


【解决方案1】:

.htaccess 文件仅适用于 apache,它永远不会适用于 Nginx。

如果将这些标头添加到字体 HTTP 响应中,使用 nginx 应该可以工作......但似乎您不拥有字体并且您从另一个网站获取字体。 CORS 标头需要由本网站设置,而不是您的。检查字体上的这些标题是什么,并检查您的网站是否允许使用那里的字体(否则您必须在您的网站上下载字体并根据字体扩展在 nginx 位置添加标题。

我猜你混淆了CORS headers 和 CSP headers(**C**ontent **S**ecurity **P**olicy)。您可以在哪里为您的网站提供允许的资源列表。

【讨论】:

    猜你喜欢
    • 2014-01-18
    • 2011-10-14
    • 1970-01-01
    • 2023-03-11
    • 2011-03-27
    • 2011-05-07
    • 2018-05-04
    • 1970-01-01
    • 2021-06-09
    相关资源
    最近更新 更多