O Apache responde HTTP e HTTPS na mesma porta

6

Estou tentando fazer com que o apache redirecione de http para https, no entanto, quero que eles estejam na mesma porta (20100, mas duvido que isso importe). Basicamente, o que está acontecendo aqui , exceto que eu não estou fazendo isso para o webmin . Atualmente eu tenho configurado para servir HTTPS, e quando eu acesso com HTTP eu recebo:

Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.

Parece haver muitas perguntas semelhantes, mas não consigo encontrar uma que realmente responda à minha pergunta.

    
por Finn 13.02.2012 / 08:17

2 respostas

14

Isso não será possível com o Apache. Com o Apache, você não pode ter HTTPS e HTTP em execução na mesma porta.

Estou ciente de alguns multiplexadores de porta projetados para tornar HTTPS / OpenVPN e SSH executados na mesma porta, mas eles exigem software adicional.

por 13.02.2012 / 08:30
0

Isso pode ser arquivado redirecionando para uma página "400 - Bad Request" personalizada e modificar o redirecionamento com uma regra de reconfiguração. No exemplo a seguir eu solicito

http://test.mydomain.com:27000

e seja redirecionado para

https://test.mydomain.com:27000

com um host virtual.

Código:

ErrorDocument 400 /

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}:27000/$1 [R,L]

Ou você simplesmente redireciona diretamente para a versão HTTPS da página.

Código:

 ErrorDocument 400 https://test.mydomain.com:27000

Mas você perderá a capacidade de redirecionar em uma página real de "Solicitação incorreta".

    
por 10.10.2018 / 14:57