
Я использую плагин 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_REQUESTED
env 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
в любом случае. Если эти запросымодернизированный(или, что более вероятно, «перенаправлено»), то это делает что-то другое.