como forçar uma aplicação web http para usar https (ssl)?

1

Em nosso servidor Linux, conseguimos algum tipo de WebApp ou executando seu próprio pequeno servidor usando http SOMENTE. Isso significa que ele não suporta SSL sozinho. Então eu estou procurando uma maneira de ter "algo" empacotado na frente deste pequeno servidor Web / WebApp, então ele está falando https para o usuário (requerido) e ele continua falando http para o WebApp localmente (servidor interno).

Eu tentei encontrar algo parecido. mas o fato de que eu encontrei muita coisa cobrindo apache, SSL e proxy reverso não esclarecer as coisas realmente. Estou mais confuso do que antes.

Precisa de alguma dica, palavras-chave ou um exemplo de configuração que faça isso.

obrigado

    
por Axel Werner 08.07.2015 / 15:53

2 respostas

2

Configure um servidor NGINX ou semelhante na frente de seu aplicativo da web que faz o proxy do tráfego. Em seguida, configure o NGINX com um certificado SSL.

Configure seu webapp para rodar em fx. porta 8080 e use este trecho de código para procurá-lo no NGINX:

location / {
  proxy_pass http://127.0.0.1:8080/;
}

Todo o bloco de servidores com SSL ativado deve ser parecido com isto:

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        listen 443 ssl;

        server_name example.com;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;

        location / {
                proxy_pass http://127.0.0.1:8080/;
        }
}

Exemplo de configuração do host virtual do Apache:

<VirtualHost *:443>
    ServerName example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined

    SSLEngine on
    SSLCertificateFile    /path/to/certificatefile
    SSLCertificateKeyFile /path/to/keyfile

        <Location />
            ProxyPass          http://your-webserver:8080/
            ProxyPassReverse   http://your-webserver:8080/
        </Location>
</VirtualHost>

Ele não foi testado e pode precisar de alguns ajustes, mas deve dar uma ideia de como configurá-lo.

    
por 08.07.2015 / 18:38
-1

Você pode tentar reescrever o apache. Há uma pergunta semelhante que foi feita antes que explica como. link

    
por 08.07.2015 / 17:54