Cómo redirigir un dominio con un certificado SSL caducado a un nuevo dominio usando Apache

Cómo redirigir un dominio con un certificado SSL caducado a un nuevo dominio usando Apache

Entonces en el pasado uséhttps://ejemplo.com. Entonces decidí que quería usarhttps://miotroejemplo.comen lugar de ejemplo.com. Así que configuré el servidor, apunté DNS a ese servidor y todo fue genial. Ahora quería redirigirhttps://ejemplo.comahttps://miotroejemplo.compara que las personas con la dirección anterior continuaran en el nuevo sitio. Esto funciona bien para redirigir el puerto 80 al nuevo dominio; sin embargo, al intentar redirigir el puerto 443 (el puerto SSL), Apache parece requerir que haya un certificado SSL válido para el dominio anterior (aunque ya no estoy sirviendo una versión segura). del sitio en esa dirección). Mi certificado SSL para el dominio anterior ha caducado y, como no hay nada que proteger, me pregunto: ¿cómo hago para realizar este tipo de redireccionamiento?

configuración de ejemplo.com:


<VirtualHost *:80>


        ServerAdmin webmaster@localhost
        DocumentRoot /sites/example.com/html
        ServerName example.com
        ServerAlias www.example.com
        Redirect / https://myotherexample.com/


        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Y la versión SSL que necesito para redirigir al nuevo dominio:

<VirtualHost *:443>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /sites/example.com/html
        ServerName example.com
        ServerAlias www.example.com
        Redirect / https://myotherexample.com/

        <Directory /sites/example.com/html>
                Options FollowSymlinks
                AllowOverride All
                Require all granted
        </Directory>

        SSLEngine on
        SSLCertificateKeyFile /etc/apache2/ssl/example.com.key
        # this ssl is expired now
        SSLCertificateFile /etc/apache2/ssl/example.com.crt
        SSLCertificateChainFile /etc/apache2/ssl/example.com.IntermediateCA.crt

</VirtualHost>

Obviamente estoy haciendo esto de manera incorrecta, pero ¿hay alguna manera de redirigir un dominio SSL (la versión https del dominio) a un nuevo dominio usando Apache, sin necesidad de mantener un certificado SSL activo en el dominio anterior? ¡Muchas gracias!

Respuesta1

Este es el comportamiento que cabría esperar. Imagínese si alguien secuestrara su DNS y configurara una redirección 301. Puedes usarhttps://letsencrypt.org/para obtener un certificado gratuito y redirigir a los clientes hasta que ya no se acceda al dominio anterior.

Respuesta2

Voté a favor de la respuesta de Matt, pero quiero decirlo de manera más explícita.

La redirección es una cosa HTTP, implementada como un conjunto de códigos de estado de respuesta (3XX) y un encabezado específico (Ubicación). Esta es una transacción HTTP ordinaria. HTTP en HTTPS es posible estrictamente después del establecimiento exitoso de la conexión TLS, y se requiere el certificado válido para TLS. Entonces, no hay certificado válido => no TLS => no HTTPS => no es posible redireccionamiento.

El certificado caducado no es válido, por lo que no es posible hacer nada similar a HTTP hasta que se reemplace el certificado, incluidas las redirecciones.

información relacionada