Премиальное программное обеспечение и практические уроки
LiteSpeed устанавливает пустой заголовок, ограничивает доступ
В некоторых случаях пользователям может потребоваться установитьПользовательские заголовки, например заголовок Cache-Control или заголовок Expire.
В качестве примера в этом руководстве мы установим пользовательские заголовки для наших файлов JavaScript и CSS.
Шаг 1
Войдя в консоль WebAdmin https://IP:7080
,ВходитьВиртуальный хост > Контекст, а затем создайте новый контекст.
Шаг 2
В новом созданном контексте,ТипУстановить наСтатичный
.
Поскольку целевыми файлами являются 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.
отключение управления кэшем
Эта строка удаляет предыдущие заголовки управления кэшем перед установкой новых в следующей строке.
Сохраните и перезагрузите.
подтверждать
Новые заголовки ответов вы можете найти в инструментах разработки вашего браузера.
Добавление пользовательского заголовка
Если вам нужно добавить больше заголовков, синтаксис и использование такие же, как у mod_headers Apache.Операции, поддерживаемые инструкциями, аналогичны.
Вот пример добавления заголовковX-Powered-By
:
Результаты проверки:
Полезные заголовки для сайтов WordPress
Это пример контекста для типичного сайта WordPress. Добавьте заголовки Expire, Cache-Control и CORS для статических ресурсов.
exp:^.*(css|gif|ico|jpeg|jpg|js|png|webp|woff|woff2|fon|fot|ttf)$
ВоляДоступные настройкидляДа
.
ВоляВключить настройки срока действиядляДа
.
Истекает по типуУстановите следующее (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 регулярного выражения, как показано на снимке экрана:
Сохраните и перезагрузите.
Совместное использование ресурсов между источниками (CORS)
Заголовок безопасностиЗаголовок ответа HTTP, который веб-сервер отправляет клиенту (обычно веб-браузеру) для обеспечения дополнительного уровня безопасности веб-сайта или приложения.
Они помогают защититься от различных типов атак и уязвимостей, таких какМежсайтовый скриптинг (XSS), кликджекинг, внедрение кода и т. д.
Чтобы узнать больше о типах заголовков безопасности и о том, как их добавить в OpenLiteSpeed Более подробную информацию о настройке см.Настройка заголовков безопасности в OpenLiteSpeed.
Политика браузера «единого источника» предотвращает чтение ресурсов из разных источников. Этот механизм не позволяет вредоносным сайтам читать данные с других сайтов, но может также помешать легитимному использованию.
Современным веб-приложениям часто приходится извлекать ресурсы из разных источников, например, извлекать данные JSON из другого домена или загружать изображения с другого веб-сайта в холст
Элемент. Они могут быть общедоступными ресурсами и должны быть доступны для чтения любому, но политика единого источника запрещает их использование. Разработчики традиционно используют обходные пути, такие как JSONP.
Совместное использование ресурсов между источниками (CORS) Эта проблема решена стандартным способом. Включение CORS позволяет серверу сообщить браузеру, что он может использовать другие источники.
Браузеры и серверы могут использоватьПротокол передачи гипертекста HTTP (HTTP) используется для обмена данными по сети. HTTP определяет правила взаимодействия между запрашивающей и отвечающей сторонами, включая информацию, необходимую для получения ресурса.
Заголовки HTTP используются для согласования обмена сообщениями между клиентом и сервером и определения прав доступа. Запрос браузера и ответ сервера делятся на заголовки и тело.
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
.
Попробуйте еще раз, на этот раз отправивУДАЛИТЬ HTTP
Метод. Вы должны увидеть200
отвечать.
Узнайте больше о CORS
Более подробное описание заголовков и методов CORS см.Эта документация Mozilla.