Назад | Перейти на главную страницу

CORS в Nginx 1.2.1 (Debian 7)

Я использую 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.

Нет журналов ошибок, нет идеи, где искать начало ответа. Все, что я нашел в Интернете, - это похожие вопросы с похожими ответами, к сожалению для меня (например, Как мне добавить Access-Control-Allow-Origin в NGINX?).

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, чтобы добавить некоторые другие модули, и мне было интересно, могут ли помочь дополнительные заголовки (https://github.com/openresty/headers-more-nginx-module), хотя модуля http-заголовков явно должно хватить.

Спасибо за поддержку.

РЕДАКТИРОВАТЬ 1:

Просто понял, что был совершенно неправ, и на самом деле не понял. Речь идет о загрузке шрифтов из другого домена. В консоли своего браузера я вижу, что загружаю шрифты из другого домена (которые не отображаются в моем браузере). Нет ошибки, я получаю http-код 200, но при этом загружен 0 КБ (так что ничего не отображается), и когда я открываю файл на новой вкладке, я могу загрузить контент (так что он действительно доступен).