redirigir redireccionar pagina htaccess apache ssl redirect https

apache - redireccionar - ¿Cómo redirige HTTPS a HTTP?



redirigir http a https iis (9)

Es mejor evitar el uso de mod_rewrite cuando puedas. En tu caso, reemplazaría la Reescritura con esto:

<If "%{HTTPS} == ''on''" > Redirect permanent / http://production_server/ </If>

La directiva <If> solo está disponible en Apache 2.4+ según este blog aquí

¿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?


Esto no ha sido probado, pero creo que esto debería funcionar usando mod_rewrite

RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}


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]


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>


Por lo que sé, una meta actualización simple también funciona sin causar errores:

<meta http-equiv="refresh" content="0;URL=''http://www.yourdomain.com/path''">


Según la respuesta de ejunker, esta es la solución que funciona para mí, no en un solo servidor, sino en un entorno de nube

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


Si ninguna de las soluciones anteriores funciona para usted (no lo hicieron para mí), esto es lo que funcionó en mi servidor:

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


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.


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]