[Apache] ¿Cómo redirige HTTPS a HTTP?



Answers

Tenga en cuenta que el motor Rewrite solo se activa una vez que se ha recibido la solicitud HTTP, lo que significa que aún necesita un certificado para que el cliente pueda configurar la conexión para enviar la solicitud.

Sin embargo, si la máquina de copia de seguridad parecerá tener el mismo nombre de host (en lo que respecta al cliente), entonces no debería haber ninguna razón por la que no pueda usar el mismo certificado que la máquina de producción principal.

Question

¿Cómo redirige HTTPS a HTTP ?. Es decir, lo opuesto a lo que (aparentemente) todos enseñan.

Tengo un servidor en HTTPS para el cual pagué una certificación SSL y un espejo para el cual no lo he hecho y lo mantengo solo para emergencias, por lo que no merece recibir una certificación.

En los escritorios de mi cliente, tengo ALGUNOS accesos directos que apuntan a http://production_server https://production_server y https://production_server (ambos funcionan). Sin embargo, sé que si mi servidor de producción falla, el reenvío de DNS entra en acción y los clientes que tienen "https" en su atajo https://mirror_server (que no funciona) y un gran Internet Explorer 7 pantalla roja de intranquilidad para mi empresa.

Desafortunadamente, no puedo cambiar esto en el nivel del cliente. Estos usuarios son muy analfabetos en informática: y es muy probable que se vuelvan locos al ver los errores de "inseguridad" de HTTPS (especialmente la forma en que lo manejan Firefox 3 e Internet Explorer 7: FULL STOP, afortunadamente, pero no me ayudaron aquí).

Es muy fácil encontrar soluciones Apache para la redirección http-> https , pero por mi vida no puedo hacer lo contrario.

Ideas?




Para aquellos que están usando un archivo .conf .

<VirtualHost *:443>
    ServerName domain.com
    RewriteEngine On
    RewriteCond %{HTTPS} on
    RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/domain.crt
    SSLCertificateKeyFile /etc/apache2/ssl/domain.key
    SSLCACertificateFile /etc/apache2/ssl/domain.crt

</VirtualHost>



todo lo anterior no funcionó cuando usé Cloudflare, este me funcionó:

RewriteCond %{HTTP:X-Forwarded-Proto} =https
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

y este definitivamente funciona sin proxies en el camino:

RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]



Ninguna de las respuestas funciona para mí en el sitio web de Wordpress, pero después de las obras (es similar a otras respuestas, pero tienen un pequeño cambio)

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]



Links