We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
[SOLVED] CORS или Access-Control-Allow-Origin
[SOLVED] CORS или Access-Control-Allow-Origin
Не получается пускать шрифты через CDN, куда уже только не писал Access-Control-Allow-Origin *
Пользуюсь инструкцией: http://docs.skyparkcdn.ru/knowledge_base/item/43253
пишу в файл:
/etc/nginx/conf.d/185.5.251.***.conf
в .htaccess в корне сайта тоже писал, не работает
Debian 7, чистая установка VestaCP, что я делаю не так?
Пользуюсь инструкцией: http://docs.skyparkcdn.ru/knowledge_base/item/43253
пишу в файл:
/etc/nginx/conf.d/185.5.251.***.conf
в .htaccess в корне сайта тоже писал, не работает
Debian 7, чистая установка VestaCP, что я делаю не так?
Last edited by sonyblack on Thu Jul 23, 2015 3:39 pm, edited 2 times in total.
Re: CORS или Access-Control-Allow-Origin или загрузка шрифто
Подключается команда знатоков-телепатов! :)что я делаю не так?
Давайте по порядку из статьи:
Конфигурация Apache
* Добавьте в файл .htaccess -- это в папку с вашим сайтом
Конфигурация Nginx
* Добавьте в секцию server файл nginx.conf:
/home/user/conf/web/nginx.conf
.htaccess or Apache/Nginx config
ну здесь на выбор или htaccess или nginx.conf
А теперь проверка:
<code>$ curl -I https://</code>/cdn.example.ru<code>/media/fonts/somefont.ttf
Re: CORS или Access-Control-Allow-Origin или шрифты и CDN
Я добавляю в .htaccess, ничего не происходит
В nginx.conf нельзя создать секцию server, при перезагрузке Nginx ругается, поэтому добавляю в конфиг ip
Чищу кэш cdn
Ответ всегда такой
curl -I http://cdn.***.**/template/css/fontawesome/fonts/fontawesome-webfont.ttf
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 23 Jul 2015 13:26:38 GMT
Content-Type: font/ttf
Content-Length: 122092
Connection: keep-alive
Last-Modified: Sat, 02 May 2015 06:41:37 GMT
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
X-Age: 3
X-Cache: HIT
X-Storage: 93.171.206.215:8001
Accept-Ranges: bytes
X-Edge-IP: 93.171.206.215
X-Edge-Location: Yekaterinburg, RU
В nginx.conf нельзя создать секцию server, при перезагрузке Nginx ругается, поэтому добавляю в конфиг ip
Чищу кэш cdn
Ответ всегда такой
curl -I http://cdn.***.**/template/css/fontawesome/fonts/fontawesome-webfont.ttf
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 23 Jul 2015 13:26:38 GMT
Content-Type: font/ttf
Content-Length: 122092
Connection: keep-alive
Last-Modified: Sat, 02 May 2015 06:41:37 GMT
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
X-Age: 3
X-Cache: HIT
X-Storage: 93.171.206.215:8001
Accept-Ranges: bytes
X-Edge-IP: 93.171.206.215
X-Edge-Location: Yekaterinburg, RU
Re: CORS или Access-Control-Allow-Origin или шрифты и CDN
Посути вопрос в том, куда бы вписать «Access-Control-Allow-Origin *»
Чтоб давало фаерфоксам и хромам брать шрифты с других доменов.
даже при вставки в php не работает, где-то в настройках зарубается если я правильно понимаю
Чтоб давало фаерфоксам и хромам брать шрифты с других доменов.
даже при вставки в php не работает, где-то в настройках зарубается если я правильно понимаю
Re: CORS или Access-Control-Allow-Origin или шрифты и CDN
Ого, давайте вместо прочитаем:sonyblack wrote: В nginx.conf нельзя создать секцию server, при перезагрузке Nginx ругается, поэтому добавляю в конфиг ip
Добавьте в секцию server файл nginx.conf:
Code: Select all
location ~ \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
add_header Access-Control-Allow-Origin "*";
}
user - ваш пользователь
Re: CORS или Access-Control-Allow-Origin или шрифты и CDN
Изначально - в apache2sonyblack wrote:Посути вопрос в том, куда бы вписать «Access-Control-Allow-Origin *»
Чтоб давало фаерфоксам и хромам брать шрифты с других доменов. даже при вставки в php не работает, где-то в настройках зарубается если я правильно понимаю
но из-за связки nginx+apache2 - не только в него, о чем довольно подробно в статье.
Re: CORS или Access-Control-Allow-Origin или шрифты и CDN
Все записи продублировал в apache2.conf и в nginx.conf в папке пользователя, очистил кэш в cdn, перезагрузил сервер, ответ все такой же
Re: CORS или Access-Control-Allow-Origin или шрифты и CDN
Вообщем я победил эту штуку, надо добавить это:
location ~ \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
#
# Om nom nom cookies
#
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# Custom headers and headers various browsers *should* be OK with but aren't
#
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
#
# Tell client that this pre-flight info is valid for 20 days
#
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
}
Источник: http://enable-cors.org/server_nginx.html
location ~ \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
#
# Om nom nom cookies
#
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# Custom headers and headers various browsers *should* be OK with but aren't
#
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
#
# Tell client that this pre-flight info is valid for 20 days
#
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
}
Источник: http://enable-cors.org/server_nginx.html
Re: [SOLVED] CORS или Access-Control-Allow-Origin
Ого, некислая такая инструкция.
Однако если вы посмотрите, что общий случай был и в первой статье.
Имею в виду:
Однако если вы посмотрите, что общий случай был и в первой статье.
Имею в виду:
Code: Select all
location ~ \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
add_header Access-Control-Allow-Origin "*";