Configure o Apache2.2 como http para https encrypter / converter

1

Estou usando o Apache 2.2 no SUSE 10 com mod_ssl.

Meu problema: Eu quero ligar um cliente (suportando apenas http) para um servidor (suportando apenas HTTPS). Então pensei em implantar o Apache como proxy para converter mensagem HTTP em mensagem HTTPS. Eu instalarei certificados do servidor no próprio Apache. Nota: Cliente e servidor aqui não são navegador normal e servidor da web. Estes são webservices baseados em SOAP usando portas personalizadas (porta 80 ou 443 não é usada)

Minha implantação pretendida é assim: Cliente ---------- > Apache (proxy) ----------- > Servidor HTTPS

Minha pergunta é: 1) Esse tipo de implantação é possível usando o Apache? 2) Qual configuração do apache é necessária? 3) Qualquer módulo específico do apache é necessário?

Eu já tentei "RewriteEngine" e "RewriteRule" como sugerido na maioria dos sites. Eu recebo após erro "302 encontrado" código de erro do servidor Apache.

    
por user107297 17.01.2012 / 17:00

1 resposta

2

Você poderia ter Client ---> Apache(proxy) ---> HTTPS Server de fato.

No entanto, você precisaria que o Apache Httpd fosse configurado como um proxy reverso . (Um proxy HTTP normal usa CONNECT para manipular solicitações HTTPS: isso espera que o cliente possa usar o próprio HTTPS, já que ele apenas retransmite a conexão). Para fazer isso, você precisaria usar mod_proxy para isso (e mod_proxy_http ) e use as diretivas SSLProxy* , conforme documentado na documentação mod_proxy . (Os servidores proxy reversos com mod_proxy e SSL são geralmente usados ao contrário).

A desvantagem é que pode ser muito pesado para configurar. Presumivelmente, esse servidor HTTPS usa HTTPS apenas por um motivo: você deseja que seu proxy seja configurado o mais próximo possível do cliente para evitar expor a variante não HTTP deste site a outras pessoas.

Dito isto, como @Zoredache disse em um comentário, ferramentas como stunnel são provavelmente mais apropriadas para isso. Você poderia mais facilmente configurar isso na máquina do cliente. Se configurado para verificar o certificado corretamente, isso pode fornecer um nível de segurança semelhante ao HTTPS diretamente no cliente. (Você precisaria pelo menos proteger a própria máquina do cliente.)

Um ponto que vem à mente é que algumas informações específicas de HTTPS podem ser tratadas de maneira diferente, em particular cookies seguros, que um navegador não enviaria para o servidor (já que não se conectaria por HTTPS): não será um problema para um serviço da Web baseado em SOAP.

    
por 17.01.2012 / 20:22