
저는 Duplicator Pro라는 WordPress 플러그인을 사용하고 있으며 설치 프로그램을 설치하는 가장 좋은 방법은 도메인이 아닌 서버 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>
installer.php
위의 Apache/LiteSpeed 규칙을 직접 IP가 아닌 도메인에만 적용하거나 파일 및 main.installer.php
디렉토리를 사용할 때 트리거되지 않도록 만드는 방법을 찾으려고 노력 중입니다./dup-installer/
FilesNotMatch / DirectoryNotMatch / LocationNotMatch 유형의 if 문이 없다는 것은 유감입니다.
누구든지 아이디어가 있으시면 도움이나 조언을 주시면 감사하겠습니다!
답변1
DOMAIN_REQUESTED
도메인이 요청되면(IP 주소와 반대) 환경 변수(예: )를 설정 하고 인수 Header
를 사용하여 이 환경 변수가 설정되었는지 여부에 따라 조건부로 설정할 수 있습니다 env=
.
예를 들어:
SetEnvIf Host "[a-z]" DOMAIN_REQUESTED
Header always set Content-Security-Policy "upgrade-insecure-requests;" env=DOMAIN_REQUESTED
헤더에 문자 az가 포함되어 있으면 Host
IP 주소가 아닌 도메인 이름을 요청해야 합니다. 이 경우 DOMAIN_REQUESTED
env var는 1
.
하지만...
서버의 IP 주소와 사용자별 웹 디렉토리를 사용하여 안전하지 않은 HTTP를 통해 이것을 설치하는 것이 바람직하다는 것이 이상해 보입니다. 사용자별 웹 디렉터리(mod_userdir)는 루트 상대 URL 경로를 망칠 수 있으므로 일반적으로 피하는 것이 가장 좋습니다.
이것이 단지 설치 과정을 위한 것이라면 해당
Header
지시어를 일시적으로 주석 처리만 하면 안 될까요?
FilesNotMatch / DirectoryNotMatch / LocationNotMatch 유형의 if 문이 없다는 것은 유감입니다.
음, 일종의 방법이 있습니다.부정적인 예측(또는뒤를 돌아보다) 정규식에서 일치하는 시기를 결정합니다.~ 아니다발생하다.
installer.php
...또는 의 파일 및main.installer.php
디렉토리를 사용할 때 트리거되지 않도록 하려면/dup-installer/
HTTP Content-Security-Policy: upgrade-insecure-requests;
응답 헤더는 연결된 자산에만 영향을 미치며 최상위 탐색에는 영향을 미치지 않습니다. 따라서 이것은 적용되지 installer.php
않습니다 main.installer.php
. 이러한 요청이 진행 중인 경우업그레이드됨(또는 "리디렉션"되었을 가능성이 더 높음) 다른 것이 해당 작업을 수행하고 있습니다.