Как настроить пользовательские заголовки для кросс-источникового обмена ресурсами (CORS) в LiteSpeed

LiteSpeed устанавливает пустой заголовок, ограничивает доступ

В некоторых случаях пользователям может потребоваться установить, например заголовок Cache-Control или заголовок Expire.

В качестве примера в этом руководстве мы установим пользовательские заголовки для наших файлов JavaScript и CSS.

Шаг 1

Войдя в консоль WebAdmin https://IP:7080,ВходитьВиртуальный хост > Контекст, а затем создайте новый контекст.

LiteSpeed Как настроить пользовательские заголовки в Access-1

Шаг 2

В новом созданном контексте,ТипУстановить наСтатичный.

Как настроить пользовательские заголовки для Access-2 в LiteSpeed

Поскольку целевыми файлами являются JS и CSS, для сопоставления URI используется регулярное выражениеВсе файлы указанного ниже типа:

exp:^.*(css|js)$
 

При желании вы можете добавить больше статических расширений файлов, например:

exp:^.*(woff|woff2|jpg|jpeg|png|css|js)$
 

ВоляРасположениеУстановить на $DOC_ROOT/$0.мы должны,$0потому чтоURIИспользуйте регулярные выражения.

ВоляДоступные настройкидляДа.

ВоляВключить настройки срока действиядляДа.

Истекает по типуУстановите следующее (15552000секунд равно 180 дням):

приложение/javascript=A15552000, текст/css=A15552000
 

Операция заголовкаУстановите следующее:

Снятие кэш-контроля. Установка кэш-контроля. Публичный, максимальный возраст = 15552000.
 

отключение управления кэшемЭта строка удаляет предыдущие заголовки управления кэшем перед установкой новых в следующей строке.

Как настроить пользовательские заголовки для Access-3 в LiteSpeed

Сохраните и перезагрузите.

подтверждать

Новые заголовки ответов вы можете найти в инструментах разработки вашего браузера.

Как настроить пользовательские заголовки для Access-4 в LiteSpeed

Добавление пользовательского заголовка

Если вам нужно добавить больше заголовков, синтаксис и использование такие же, как у mod_headers Apache.Операции, поддерживаемые инструкциями, аналогичны.

Вот пример добавления заголовковX-Powered-By:

Как настроить пользовательские заголовки для Access-5 в LiteSpeed

Результаты проверки:

Как настроить пользовательские заголовки для Access-6 в LiteSpeed

Полезные заголовки для сайтов WordPress

Это пример контекста для типичного сайта WordPress. Добавьте заголовки Expire, Cache-Control и CORS для статических ресурсов.

exp:^.*(css|gif|ico|jpeg|jpg|js|png|webp|woff|woff2|fon|fot|ttf)$
ВоляРасположениеУстановить на $DOC_ROOT/$0.мы должны,$0потому чтоURIИспользуйте регулярные выражения.

ВоляДоступные настройкидляДа.

ВоляВключить настройки срока действиядляДа.

Истекает по типуУстановите следующее (15552000секунд равно 180 дням):

text/css=A15552000, image/gif=A15552000, image/x-icon=A15552000, image/jpeg=A15552000, application/x-javascript=A15552000, text/javascript=A15552000, application/javascript=A15552000, image/png=A15552000, image/webp=A15552000, font/ttf=A15552000, font/woff=A15552000, font/woff2=A15552000, application/x-font-ttf=A15552000, application/x-font-woff=A15552000, application/font-woff=A15552000, приложение/шрифт-woff2=A15552000
Операция заголовкаУстановите следующее:
отменить Cache-control установить Cache-control public, max-age=15552000 установить Access-Control-Allow-Origin: *
результат:
[root@test ~]# curl -I -XGET https://example.com/wp-includes/css/dist/block-library/theme.min.css?ver=5.2.4 HTTP/1.1 200 OK Истекает: пятница, 1 мая 2020 г., 21:18:01 по Гринвичу Etag: "5d7-5dbf3aff-181c04;;;" Последнее изменение: вс, 3 ноя 2019 г., 20:39:27 GMT Тип содержимого: текст/css Длина содержимого: 1495 Диапазоны принятия: байт Дата: вс, 3 ноя 2019 г., 21:18:01 GMT Сервер: LiteSpeed Управление кэшем: public, max-age=15552000 Управление доступом: Allow-Origin: * Подключение: Keep-Alive
 

Вы увидите, что Cache-Control и Expire установлены на 6 месяцев, а служба CDN по-прежнему доступна.Access-Control-Allow-Origin: * заголовок.

Обратите внимание, что для корректной работы заголовков CORS вам, возможно, придется очистить кэш CDN и настроить службу CDN на учет или передачу заголовков источника.

 

WordPress с плагином LiteSpeed Cache

Если у вас установлен плагин LiteSpeed Cache для WordPress и вы получаете ошибки 404 из-за объединенных/минифицированных файлов JS/CSS, выполните следующие действия:

Удалить из строки вышеjs|и.css|опыт:

Теперь создайте два новых контекста: один для CSS и один для JS.

Контекст CSS должен иметь следующие настройки:

URIУстановить на /wp-content/cache/css/

ВоляРасположениеУстановить на $DOC_ROOT/wp-content/cache/css/.

ВоляДоступные настройкидляДа.

ВоляВключить настройки срока действиядляДа.

Истекает по типуУстановите следующее (15552000секунд равно 180 дням):

текст/css=A15552000
 

Операция заголовкаУстановите следующее:

отменить Cache-control установить Cache-control public, max-age=15552000 установить Access-Control-Allow-Origin: *
 

Контекст JS должен иметь следующие настройки:

URIУстановить на /wp-content/cache/js/

ВоляРасположениеУстановить на $DOC_ROOT/wp-content/cache/js/.

ВоляДоступные настройкидляДа.

ВоляВключить настройки срока действиядляДа.

Истекает по типуУстановите следующее (15552000секунд равно 180 дням):

приложение/x-javascript=A15552000, текст/javascript=A15552000, приложение/javascript=A15552000

Операция заголовкаУстановите следующее:

отменить Cache-control установить Cache-control public, max-age=15552000 установить Access-Control-Allow-Origin: *
 

существовать"заказ"вкладку, щелкните-Нотация переупорядочивает контексты таким образом, что JS и CSS находятся над контекстом URI регулярного выражения, как показано на снимке экрана:

Как настроить пользовательские заголовки для Access-7 в LiteSpeed

Сохраните и перезагрузите.

Совместное использование ресурсов между источниками (CORS)

Заголовок ответа HTTP, который веб-сервер отправляет клиенту (обычно веб-браузеру) для обеспечения дополнительного уровня безопасности веб-сайта или приложения.

Они помогают защититься от различных типов атак и уязвимостей, таких как (XSS), кликджекинг, внедрение кода и т. д.

Чтобы узнать больше о типах заголовков безопасности и о том, как их добавить в Более подробную информацию о настройке см.Настройка заголовков безопасности в OpenLiteSpeed.

Политика браузера «единого источника» предотвращает чтение ресурсов из разных источников. Этот механизм не позволяет вредоносным сайтам читать данные с других сайтов, но может также помешать легитимному использованию.

Современным веб-приложениям часто приходится извлекать ресурсы из разных источников, например, извлекать данные JSON из другого домена или загружать изображения с другого веб-сайта в холст Элемент. Они могут быть общедоступными ресурсами и должны быть доступны для чтения любому, но политика единого источника запрещает их использование. Разработчики традиционно используют обходные пути, такие как JSONP.

Совместное использование ресурсов между источниками (CORS) Эта проблема решена стандартным способом. Включение CORS позволяет серверу сообщить браузеру, что он может использовать другие источники.

Браузеры и серверы могут использоватьПротокол передачи гипертекста HTTP (HTTP) используется для обмена данными по сети. HTTP определяет правила взаимодействия между запрашивающей и отвечающей сторонами, включая информацию, необходимую для получения ресурса.

Заголовки HTTP используются для согласования обмена сообщениями между клиентом и сервером и определения прав доступа. Запрос браузера и ответ сервера делятся на заголовки и тело.

Безопасный обмен ресурсами из разных источников. Совместное использование ресурсов из разных источников (CORS)

Как настроить пользовательские заголовки для кросс-источникового обмена ресурсами (CORS) в LiteSpeed

Как настроить пользовательские заголовки для кросс-источникового обмена ресурсами (CORS) в LiteSpeed

Access-Control-Allow-Origin * Access-Control-Allow-Methods GET, POST, OPTIONS Access-Control-Allow-Headers Origin, X-Requested-With, Content-Type, Accept

Настройка заголовков CORS

СтандартДоступ-Контроль-Разрешить-ИсточникЗаголовок предотвращает атаки с использованием перекрестного обмена ресурсами (CORS), указывая, каким веб-сайтам разрешен доступ к ресурсам страницы.

Самое простое (и наиболее допустимое) значение для назначения заголовка CORS — это*, что означает, что любой сайт может получить доступ к ресурсам вашей страницы. Для более консервативного и безопасного подхода следует разрешить доступ только через определённые доверенные сайты.

пример:

Доступ-Контроль-Разрешить-Происхождение: *
Access-Control-Allow-Origin: https://trusted-example.com

Поддержка большего количества методов CORS

По умолчанию CORS поддерживает следующие методы:ТОЛКАТЬПОЛУЧАТЬиГОЛОВАЕсли вы хотите поддержатьПАРАМЕТРЫИ что же делать?УДАЛИТЬ

Вы можете просто добавить кДополнительные заголовки : Методы разрешения доступа GET, POST, OPTIONS, DELETE.

Как настроить пользовательские заголовки для кросс-источникового обмена ресурсами (CORS) в LiteSpeed

Попробуйте еще раз, на этот раз отправивУДАЛИТЬ HTTPМетод. Вы должны увидеть200отвечать.

Как настроить пользовательские заголовки для кросс-источникового обмена ресурсами (CORS) в LiteSpeed

Узнайте больше о CORS

Более подробное описание заголовков и методов CORS см.Эта документация Mozilla.

2.3/5 - (3 отзыва)

Ответить

Ваш адрес электронной почты не будет опубликован. Обязательные поля помечены *