Impedir que o Google Chrome trate todos os URLs com uma base comum como conexões SSL

Impedir que o Google Chrome trate todos os URLs com uma base comum como conexões SSL

Eu hospedo vários sites por meio de um nome DNS fornecido pelo ISP e os divido além da porta 80 do meu roteador usando uma instalação do haproxy. Funcionou muito bem para meus (acho que são 11) sites exclusivos até que mudei um deles para https.

Agora, o Google Chrome assume que todos os meus sites são https e só posso acessar aquele que é https :-(

Suspeito que o motivo pelo qual o Chrome faz isso é porque todos os meus sites começam com meu nome de domínio (meuexemplodominio.com). O site de exemplo 1 seriahttp://meuexemplodominio.com/website-one/main.htmle o site de exemplo 2 seriahttps://meudominio.com/website-two/main.htmle por algum motivo, depois que o Chrome acessou com êxito o link https, o link não https é acessado automaticamente como https. Exclua o s (para torná-lo http) e o Chrome apenas o adiciona de volta.

Quando acesso meus sites através do Internet Explorer 9, todos eles ainda funcionam bem ou pelo menos podem ser acessados ​​sem que a conexão seja preenchida automaticamente como https. Então, não, não há redirecionamento http-para-https em algum lugar do meu back-end, isso é apenas o Chrome sendo bobo. Alguém sabe por que o Chrome está sendo bobo e se ainda existe uma maneira de acessar meus outros sites pelo Chrome? Eu odeio o IE, e usá-lo me causa dor física ;-)

Responder1

(Para escrever nossa discussão como uma resposta adequada:)

O Google Chrome (juntamente com todos os outros navegadores modernos) suporta oSegurança de transporte estritaCabeçalho HTTP, que informa ao navegador que "este site deve ser acessado apenas via HTTPS, portanto, no futuro, mesmo que o usuário solicite HTTP, forneça HTTPS". À medida que o uso de HTTPS se torna cada vez mais comum, o envio desse cabeçalho está se tornando o padrão em novos softwares e estruturas, como geralmente se o HTTPS estiver configurado (o que precisa ser para que o cabeçalho Strict-Transport-Security tenha algum efeito) , é preferível usá-lo para tudo. Como você descobriu, o software que você estava usando está configurado por padrão para se comportar dessa maneira. Você não viu o comportamento no Internet Explorer 9, pois ele é muito antigo para oferecer suporte a esse recurso da web.

As duas soluções são (1) alterar a configuração do software para não enviar o cabeçalho, pois você não deseja forçar todos os usuários a usar HTTPS, ou (2) alterar todo o seu site para funcionar corretamente em HTTPS. . Eu geralmente recomendaria a segunda opção, pois depois de configurar o servidor e ter um certificado HTTPS funcionando, não há necessidade de usar uma conexão não criptografada na Internet hoje em dia.

Responder2

De acordo com a resposta do comentário de Peter Cooper Jr., minha dor de cabeça é causada pela instalação do NGINX junto com o gitlab omnibus, que efetivamente informa aos clientes conectados que eles devem sempre usar https ao se comunicar com ele e, no caso do Gitlab/NGINX, o o período de comunicações seguras é fixado em 24 meses!

Informações sobre cabeçalhos STS:http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
Informações sobre a instalação do Gitlab:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md

informação relacionada