Решение проблем с кросс-происхождением совместного использования ресурсов (CORS)

Главные вкладки

Аватар пользователя Studio VIZA Studio VIZA 17 февраля 2017 в 15:37

После ввода в эксплуатацию нескольких ресурсов, имеющих https, стал замечать как изредка отваливаются иконки и прочее, потом вроде восстанавливаются и затем напрочь исчезают. Начал копать, выяснил что, хотя https стоит больше месяца, проблема докатилась только сейчас.
В консоли браузера что то вроде этого, приблизительно.

http://www.img.studioviza.ru/Shot9dlsd.png

В сети, нашел решение для ВП-шников, в корневой .htaccess пишем это:

<IfModule mod_headers.c>
  <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$">
    Header set Access-Control-Allow-Origin "*"
  </FilesMatch>
</IfModule>

И всё выравнивается. По отрицательным сторонам - всё работает, но чота этот ваш вп мне не нр.

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 18 февраля 2017 в 11:13

На nginx помогает http://stackoverflow.com/questions/27955233/nginx-config-for-cors-add-he...

...
Firstly, let me say that after looking around the web, I found this answer popping up everywhere:

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

However, I have decided to answer this question with a separate answer as I only managed to get this particular solution working after putting in about ten more hours looking for a solution.

It seems that Nginx doesn't define any [correct] font MIME types by default. By following this tuorial I found I could add the following:

application/x-font-ttf ttc ttf;
application/x-font-otf otf;
application/font-woff woff;
application/font-woff2 woff2;
application/vnd.ms-fontobject eot;

Аватар пользователя Studio VIZA Studio VIZA 18 февраля 2017 в 20:03

<a href="mailto:sas@drupal.org">sas@drupal.org</a> wrote:

На 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; Куда ставить? Сорри нашел На мой etc/nginx/mime.typesфайл.

ПС. Всё везде заработало, после прописи в mime.types, перезарузки сервера и часовой паузы. Некий элемент волшебства раздражает.