
En la segunda llamada del archivo config-vhost de mi servidor Apache 2.4 tengo:
<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>
El tercer config-vhost es este (sección):
<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
...
El enlace dehttps://51.89.98.21/industrie/automatisierung/ipc/11315-edge-computing debe ser redirigido ahttp://51.89.98.21PERO en lugar tengo una redirección a:http://51.89.98.21/industrie/automatisierung/ipc/11315-edge-computing, que me muestra el contenido de la página "real".
Nunca se alcanza el segundo vhost porque en el registro tengo esto:
[Martes 24 de octubre 18:44:23.156932 2023] [ssl:debug] [pid 8958:tid 140379014039296] ssl_engine_kernel.c(383): [cliente 98.58.102.21:64004] AH02034: Solicitud HTTPS posterior (n.º 3) recibida para hijo 22272 (servidorwww.desarrollmentscout.com:443), referente:https://51.89.98.21/industrie/automatisierung/ipc/11315-edge-computing
Obviamente, la solicitud https va a la URL incorrecta que llama a un certificado SSL, lo cual es incorrecto, luego usa una conexión http y muestra el contenido.
Intenté crear un certificado SSL con Letsencrypt, pero eso no es posible para una IP. Entonces, cualquier sugerencia sobre cómo resolver esto sería genial.
ACTUALIZAR: Mientras tanto, he creado un certificado autofirmado para 51.89.98.21. El vhost (segundo después del predeterminado) es:
<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>
Cuando llamo a esta URL:https://51.89.98.21/branche/automobil/11819-e-auto-laden-ladestecker-ladekabel Recibí un 404 no encontrado.
Respuesta1
AI me dijo que la condición
ReescribirCond %{HTTP_HOST} ^51.89.98.21/$ [NC]
nunca será cierto porque %{HTTP_HOST} solo contiene el nombre de dominio (o IP en este caso) sin la barra diagonal final.
Entonces la modificación debería ser:
ReescribirCond %{REQUEST_URI} !^/$