¿Cómo redirige HTTPS a HTTP? Es decir, lo contrario de lo que (aparentemente) todos enseñan.
Tengo un servidor en HTTPS para el que pagué una certificación SSL y un espejo para el que no lo he hecho y lo mantengo solo para emergencias para que no merezca obtener una certificación.
En los escritorios de mi cliente tengo ALGUNOS atajos que apuntan http://production_server
y https://production_server
(ambos funcionan). Sin embargo, sé que si mi servidor de producción se cae, entonces el reenvío de DNS entra en acción y los clientes que tienen "https" en su acceso directo estarán mirando https://mirror_server
(que no funciona) y una gran pantalla roja de inquietud de Internet Explorer 7 para mi empresa
Desafortunadamente, no puedo simplemente cambiar esto a nivel del cliente. Estos usuarios son muy analfabetos informáticos: y es muy probable que se asusten al ver errores de "inseguridad" HTTPS (especialmente la forma en que Firefox 3 e Internet Explorer 7 lo manejan hoy en día: PARADA COMPLETA, algo agradecida, pero no me ayuda aquí LOL).
Es muy fácil encontrar soluciones de Apache para la redirección http-> https , pero por mi vida no puedo hacer lo contrario.
Ideas?
Respuestas:
Esto no ha sido probado pero creo que debería funcionar usando mod_rewrite
fuente
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 necesitaría un certificado, para que el cliente configure la conexión para enviar la solicitud.
Sin embargo, si la máquina de respaldo parece 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.
fuente
Según la respuesta de ejunker, esta es la solución que funciona para mí, no en un solo servidor sino en un entorno en la nube
fuente
Para aquellos que están usando un
.conf
archivo.fuente
Si ninguna de las soluciones anteriores funciona para usted (no lo hicieron para mí), esto es lo que funcionó en mi servidor:
fuente
L,
(que significa "Última regla"). Si está utilizando wordpress u otro CMS, elL
indicador puede evitar que la solicitud de página se enrute correctamente. En cambio, use:RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301]
todo lo anterior no funcionó cuando usé cloudflare, este funcionó para mí:
y este definitivamente funciona sin poderes en el camino:
fuente
Es mejor evitar usar mod_rewrite cuando puedas.
En su caso, reemplazaría la Reescritura con esto:
La
<If>
directiva solo está disponible en Apache 2.4+ según este blog aquí .fuente
/usr/sbin/httpd -v
esto funciona para mi
asegúrese de escuchar los puertos 80 y 443.
fuente
Ninguna de las respuestas funciona para mí en el sitio web de Wordpress, pero los siguientes trabajos (es similar a otras respuestas pero tiene un pequeño cambio)
fuente
Hasta donde sé, una simple actualización meta también funciona sin causar errores:
fuente