
Na segunda chamada do meu arquivo config-vhost do servidor Apache 2.4, tenho:
<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>
O terceiro config-vhost é este (seção):
<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
...
O link dehttps://51.89.98.21/industrie/automatisierung/ipc/11315-edge-computing deveria redirecionar parahttp://51.89.98.21MAS, em vez disso, tenho um redirecionamento para:http://51.89.98.21/industrie/automatisierung/ipc/11315-edge-computing, que me mostra o conteúdo da página "real".
O segundo vhost nunca é alcançado porque no log eu tenho isto:
[Terça-feira, 24 de outubro 18:44:23.156932 2023] [ssl:debug] [pid 8958:tid 140379014039296] ssl_engine_kernel.c(383): [client 98.58.102.21:64004] AH02034: solicitação HTTPS subsequente (No.3) recebida para filho 22272 (servidorwww.developmentscout.com:443), referente:https://51.89.98.21/industrie/automatisierung/ipc/11315-edge-computing
Obviamente a solicitação https vai para a URL errada que chama um certificado SSL, o que está errado, então usa uma conexão http e mostra o conteúdo.
Tentei criar um certificado SSL com Letsencrypt, mas isso não é possível para um IP. Portanto, qualquer sugestão de como resolver isso seria ótima.
ATUALIZAR: Enquanto isso, criei um certificado autoassinado para 51.89.98.21. O (segundo após o padrão) vhost é:
<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>
Quando eu chamo este URL:https://51.89.98.21/branche/automobil/11819-e-auto-laden-ladestecker-ladekabel Recebi um Não encontrado 404.
Responder1
AI me disse que a condição
ReescreverCond %{HTTP_HOST} ^51.89.98.21/$ [NC]
nunca será verdade porque %{HTTP_HOST} contém apenas o nome de domínio (ou IP, neste caso) sem a barra final.
Então a modificação deveria ser:
ReescreverCond %{REQUEST_URI} !^/$