Nginx 1.2.1(Debian 7)中的 CORS

Nginx 1.2.1(Debian 7)中的 CORS

我使用的是 Debian 7 和 Nginx 1.2.1。Http 标头模块默认在 Debian 数据包中启用(https://wiki.debian.org/Nginx)。我尝试使用给定的链接(图片托管在它们的一侧)添加指向 Facebook、Twitter 和 Google Plus 帐户的链接。问题是我的浏览器不显示这 3 张图片。我之前使用过 Apache,Header set Access-Control-Allow-Origin "*"我的站点配置中有模块和说明。

我已迁移至 Nginx,但无法使用以下配置实现等效功能。我还启用了 Naxsi,并使用了一组适用于 wordpress 的通用规则。

没有错误日志,不知道在哪里检查才能找到答案的开头。不幸的是,我在网上找到的都是类似的问题和类似的答案(例如如何在 NGINX 中添加 Access-Control-Allow-Origin?)。

server {
 listen 192.0.2.3:80; 
 server_name blog.example.com;

 root /blog/example;
 index index.php;

 location / {
   try_files $uri $uri/ /index.php?q=$uri&$args; 

   add_header 'Access-Control-Allow-Origin' '*';
}
location ~ \.php$ {
  try_files $uri =404;
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
}

if ($request_method !~ ^(GET|POST|HEAD)$ ) {
  return 444;
}

# location ~* \.(ttf|ttc|otf|eot|woff)$ {
#   add_header 'Access-Control-Allow-Origin' '*';
# }
}

另外,curl -I blog.example.com显示(缺少跨域的标题指令?)

HTTP/1.1 200 OK
Server: nginx
Date: Thu, 28 May 2015 06:59:26 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.4.39-0+deb7u2
X-Pingback: http://blog.example.com/abc

我需要重新编译 Nginx 以添加一些其他模块,并且想知道 headers more 是否有帮助(https://github.com/openresty/headers-more-nginx-module),虽然 http headers 模块显然应该足够了。

感谢您的支持。

编辑1:

刚刚意识到我完全错了,实际上并没有理解。这是关于从另一个域加载字体。在我的浏览器控制台中,我可以看到我正在从另一个域加载字体(这些字体未显示在我的浏览器中)。没有错误,我得到 http 代码 200,但下载了 0KB(因此没有任何内容显示),当我在新选项卡中打开文件时,我可以下载内容(因此它实际上可用)。

相关内容