Você não pode fazer isso. Se você tiver ativado o SSL na porta 444, uma conexão sem SSL para essa porta simplesmente não funcionará.
Eu tenho um servidor apache v2.2, com um host virtual em 80 e outro com SSL em 444. Gostaria de redirecionar todo esse tipo de solicitação:
http://domain.tld:444/dir1
http://domain.tld:444/dir2
(sem https na porta SSL) para
https://domain.tld:444/dir1
https://domain.tld:444/dir2
Para evitar o erro 400 Pedido incorreto. Você sabe como isso pode ser feito?
Obrigado antecipadamente.
Você não pode fazer isso. Se você tiver ativado o SSL na porta 444, uma conexão sem SSL para essa porta simplesmente não funcionará.
O Apache não pode fazer isso diretamente. Quando escuta em uma porta, está escutando tráfego HTTP simples ou tráfego HTTPS e o outro tipo de conexão simplesmente falhará.
Uma aplicação inteligente, no entanto, pode tentar inspecionar os dados de conexão iniciais, decidir que tipo de conexão está sendo tentada e tomar as medidas apropriadas. sslh faz isso. Para usá-lo, você terá que configurar dois hosts virtuais Apache, cada um escutando em uma porta diferente no endereço do host local. Com aqueles no lugar, você teria que sslh ouvir na porta 444 e encaminhar o tráfego HTTP e HTTPS para as portas internas apropriadas.
Basta definir sua configuração para usar o redirecionamento de mod_alias:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost >
Fonte: mod_alias # redirect
Tags ssl apache-2.2 rewrite