Apache2 + SSL + Proxy para Sinatra App: Funcionará? Ou haverá algum aviso para o usuário?

1

Eu tenho uma situação em que o site principal é um aplicativo legado escrito no ColdFusion que eu migrei recentemente do MX 6.1 para 9.0.1. Outra parte do site é um blog / fórum em PHP5 no WordPress. Agora, estou adicionando um recurso de associação paga e integrando-me à API Chargify V2 usando Ruby & Sinatra Diversão, hein? De qualquer forma, agora eu tenho o início das coisas trabalhando usando o mod-proxy para enviar solicitações de um determinado subdiretório no site principal do CF para o aplicativo Sinatra. Isso está funcionando bem em HTTP; Porta 80 para a porta 9292. Mas o que acontecerá quando eu tentar usar HTTPS; Porta 443 para a porta 9292? Atualmente, não tenho um certificado para esse host, pois não foi necessário fazer isso no passado, por isso não sei como experimentar. Eu só quero ter certeza de que o navegador não vai reclamar sobre o arranjo não ortodoxo. Eu não estou realmente preocupado com o envio do formulário sendo seguro porque o aplicativo está criptografando-o sem o SSL. A única razão pela qual desejo usar o SSL é a confiança do usuário. Portanto, é de suma importância que não haja reclamações do navegador que possam reduzir a confiança do usuário (e, portanto, as conversões).

    
por Day Davis Waterbury 26.05.2012 / 02:43

1 resposta

1

Os usuários não terão idéia de que a conexão não está criptografada entre o servidor proxy e o servidor de back-end; sua conexão é apenas para o proxy. Mas, eu não posso culpar seus usuários por não confiar na criptografia de dados de formulário fora do SSL - eu também não faria isso!

Em qualquer caso, você não deve implantar um sistema HTTPS-proxied-to-HTTP dessa maneira, a menos que tenha absoluta certeza de que o tráfego entre o proxy e o back-end é seguro. Se esse domínio de transmissão for acessível a qualquer usuário (em vez de apenas servidores), por exemplo, eles poderiam facilmente envenenar o ARP e capturar esse tráfego.

Se houver algum risco de isso acontecer, use SSL para a comunicação entre o proxy e o back-end - não é necessário muito esforço para configurá-lo.

Para obter um caso de teste, você pode simplesmente configurar um certificado autoassinado e iniciar um ouvinte SSL.

Listen 443
<VirtualHost *:443>
    ServerName ssl.example.com
    SSLEngine On
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/cert.key
    ProxyPass / http://backend:9292/
    ProxyPassReverse / http://backend:9292/
</VirtualHost>
    
por 26.05.2012 / 02:58