Настройка заголовка Apache с условиями исключения путей/каталогов/IP-адресов сервера

Настройка заголовка Apache с условиями исключения путей/каталогов/IP-адресов сервера

Я использую плагин WordPress под названием Duplicator Pro, и лучший способ установки с помощью их установщиков — использовать IP-адрес сервера, а не домен, поскольку в этом случае он автоматически заполняется и подключается к серверу проще, а также не вызывает срабатывания нескольких правил ModSecurity.

Лучший URL-адрес для установки:

http://111.222.333.444/~customcpanelaccount/customfolder/installer.php

Вместо:

https://website.com/customfolder/installer.php

Если вы загрузите любой из этих файлов, он автоматически перенаправит вас на:

/customfolder/dup-installer/main.installer.php

Однако поскольку на сервере установлено следующее правило Apache/LiteSpeed, он автоматически перенаправляет http:// на https://, что приводит к появлению следующего сообщения:

Подключиться к сети

<IfModule mod_headers.c>
    Header always set Content-Security-Policy "upgrade-insecure-requests;"
</IfModule>

Я пытаюсь найти способ сделать так, чтобы указанное выше правило Apache/LiteSpeed ​​применялось только к доменам, а не к прямым IP-адресам, ИЛИ сделать так, чтобы оно не срабатывало при использовании файла installer.phpи main.installer.phpкаталога/dup-installer/

Жаль, что нет операторов if типа FilesNotMatch / DirectoryNotMatch / LocationNotMatch.

У кого-нибудь есть идеи, буду очень признателен за помощь/совет!

решение1

Вы можете установить переменную среды (например, DOMAIN_REQUESTED), если запрашивается домен (в отличие от IP-адреса), и задать ее Headerв зависимости от того, установлена ​​ли эта переменная среды, с помощью аргумента env=.

Например:

SetEnvIf Host "[a-z]" DOMAIN_REQUESTED
Header always set Content-Security-Policy "upgrade-insecure-requests;" env=DOMAIN_REQUESTED

Если Hostзаголовок содержит символ az, то вы должны запрашивать доменное имя, а не IP-адрес. В этом случае DOMAIN_REQUESTEDenv var устанавливается в 1.

Однако...

  • Кажется странным, что предпочтительнее установить это вместо небезопасного HTTP с использованием IP-адреса сервера и веб-каталога для каждого пользователя?! Веб-каталоги для каждого пользователя (mod_userdir) обычно лучше избегать, поскольку они действительно портят URL-пути относительно корня.

  • Если это касается только процесса установки, нельзя ли просто Headerвременно закомментировать эту директиву?

Жаль, что нет операторов if типа FilesNotMatch / DirectoryNotMatch / LocationNotMatch.

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

...ИЛИ сделать так, чтобы он не срабатывал при использовании файла installer.phpи main.installer.phpкаталога/dup-installer/

Заголовок Content-Security-Policy: upgrade-insecure-requests;ответа HTTP влияет только на связанные активы, а не на навигацию верхнего уровня. Так что это не относится к installer.phpи main.installer.phpв любом случае. Если эти запросымодернизированный(или, что более вероятно, «перенаправлено»), то это делает что-то другое.

Связанный контент