Alojo varios sitios web a través de un nombre DNS proporcionado por el ISP y los divido más allá del puerto 80 de mi enrutador mediante una instalación de haproxy. Ha funcionado muy bien para mis (creo que son 11) sitios web únicos hasta que cambié uno de ellos para que fuera https.
Ahora, Google Chrome asume que todos mis sitios web son https y solo puedo acceder al que es https :-(
Sospecho que la razón por la que Chrome hace esto es porque todos mis sitios web comienzan con mi nombre de dominio (myexampledomain.com). El sitio de ejemplo 1 seríahttp://midominiodeejemplo.com/sitio-web-uno/main.htmly el sitio de ejemplo 2 seríahttps://midominiodeejemplo.com/sitio web-dos/main.htmly por alguna razón, después de que Chrome accedió exitosamente al enlace https, se accede automáticamente al enlace que no es https como https. Elimina el s (para convertirlo en http) y Chrome simplemente lo vuelve a agregar allí.
Cuando accedo a mis sitios web a través de Internet Explorer 9, todos siguen funcionando bien, o al menos se puede acceder a ellos sin que la conexión se complete automáticamente como https. Entonces, no, no hay ninguna redirección de http a https en algún lugar de mi back-end, esto es simplemente que Chrome está siendo una tontería. ¿Alguien sabe por qué Chrome está siendo tonto y si hay alguna manera de seguir accediendo a mis otros sitios desde Chrome? Odio IE y usarlo me causa dolor físico ;-)
Respuesta1
(Para escribir nuestra discusión como una respuesta adecuada :)
Google Chrome (junto con todos los demás navegadores modernos) admite laEstricta seguridad en el transporteEncabezado HTTP, que informa al navegador que "se supone que se puede acceder a este sitio sólo a través de HTTPS, por lo que en el futuro, incluso si el usuario solicita HTTP, proporciónele HTTPS". A medida que el uso de HTTPS se vuelve cada vez más común, el envío de este encabezado se está convirtiendo en el valor predeterminado en nuevos software y marcos, como en general si HTTPS está configurado (lo cual debe ser para que el encabezado Strict-Transport-Security tenga algún efecto). , es preferible usarlo para todo. Como descubrió, el software que estaba utilizando está configurado de forma predeterminada para comportarse de esta manera. No vio este comportamiento en Internet Explorer 9, ya que es demasiado antiguo para admitir esta característica de la web.
Las dos soluciones son (1) cambiar la configuración del software para no enviar el encabezado, ya que no desea forzar a todos los usuarios a utilizar HTTPS, o (2) cambiar todo su sitio para que funcione correctamente a través de HTTPS. . Generalmente recomendaría la segunda opción, ya que una vez que tenga el servidor configurado y un certificado HTTPS que funcione, realmente no hay necesidad de utilizar una conexión no cifrada en Internet hoy en día.
Respuesta2
Según la respuesta al comentario de Peter Cooper Jr., mi dolor de cabeza es causado por mi instalación de NGINX incluida con gitlab omnibus, que efectivamente les dice a los clientes que se conectan que siempre deben usar https cuando se comunican con él, y en el caso de Gitlab/NGINX, el ¡El período de comunicaciones seguras está fijado en 24 meses!
Información sobre encabezados STS:http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
Información sobre la instalación de Gitlab:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md