
Apache 2.4 서버 config-vhost 파일의 두 번째 호출에는 다음이 포함됩니다.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName 51.89.98.21
RewriteEngine On
RewriteCond %{HTTP_HOST} ^http://51.89.98.21$1 [NC]
RewriteRule ^(.*)$ http://51.89.98.21/ [R=permanent,END,QSA]
</VirtualHost>
세 번째 config-vhost는 다음과 같습니다(섹션).
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName www.developmentscout.com
ServerAlias developmentscout.com
UseCanonicalName Off
DocumentRoot "/var/www/vhosts/developmentscout.com/htdocs"
RewriteEngine On
RewriteCond %{REQUEST_URI} ^\.well\-known [NC,OR]
RewriteCond %{HTTP_HOST} ^developmentscout.com$ [NC]
RewriteRule ^ https://www.developmentscout.com%{REQUEST_URI} [END,QSA,R=permanent]
SSLEngine on
SSLCertificateKeyFile /etc/letsencrypt/live/developmentscout.com-0002/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/developmentscout.com-0002/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/developmentscout.com-0002/chain.pem
...
의 링크https://51.89.98.21/industrie/automatisierung/ipc/11315-edge-computing 다음으로 리디렉션되어야 합니다.http://51.89.98.21하지만 대신 다음으로 리디렉션됩니다.http://51.89.98.21/industrie/automatisierung/ipc/11315-edge-computing, "실제" 페이지의 내용을 보여줍니다.
로그에 다음이 있으므로 두 번째 가상 호스트에 도달하지 않습니다.
[Tue Oct 24 18:44:23.156932 2023] [ssl:debug] [pid 8958:tid 140379014039296] ssl_engine_kernel.c(383): [client 98.58.102.21:64004] AH02034: 후속(3번) HTTPS 요청 에 대해 받았습니다 하위 22272(서버www.developmentscout.com:443), 추천인:https://51.89.98.21/industrie/automatisierung/ipc/11315-edge-computing
분명히 https 요청은 SSL 인증서를 호출하는 잘못된 URL로 이동한 다음 http 연결을 사용하고 내용을 표시합니다.
Letsencrypt를 사용하여 SSL 인증서를 만들려고 했지만 IP에는 불가능합니다. 따라서 이 문제를 해결하는 방법에 대한 제안이 있으면 좋을 것입니다.
업데이트: 그동안 51.89.98.21에 대한 자체 서명 인증서를 만들었습니다. (기본값 다음 두 번째) 가상 호스트는 다음과 같습니다.
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName 51.89.98.21
SSLEngine on
SSLCertificateKeyFile /etc/ca-certificates/key.pem
SSLCertificateFile /etc/ca-certificates/cert.pem
RewriteEngine On
RewriteCond %{HTTP_HOST} ^51.89.98.21/$ [NC]
RewriteRule ^ https://51.89.98.21/ [END,QSA,R=permanent]
DocumentRoot /var/www/server3
</VirtualHost>
이 URL을 호출하면:https://51.89.98.21/branche/automobil/11819-e-auto-laden-ladestecker-ladekabel 찾을 수 없음 404가 발생했습니다.
답변1
AI가 내게 말한 조건은
RewriteCond %{HTTP_HOST} ^51.89.98.21/$ [NC]
%{HTTP_HOST}에는 후행 슬래시 없이 도메인 이름(또는 이 경우 IP)만 포함되므로 절대 true가 아닙니다.
따라서 수정 사항은 다음과 같아야 합니다.
RewriteCond %{REQUEST_URI} !^/$