loadbalancer do Nginx https

1

Estou com problemas ao veicular https via nginx como balanceador de carga. Eu tenho a seguinte configuração:

server {
    listen       443 ssl;
    listen       [::]:443 ssl;
    server_name  sub.domain.com;

    root /usr/share/nginx/html;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


    ssl_certificate         /etc/ssl/[cert].crt;
    ssl_certificate_key     /etc/ssl/private/wildcard.[cert].com.key;
    ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;

    ssl_ciphers '[...]'

    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/pki/tls/certs/dhparams.pem;


    location /application { proxy_pass http://server0; }

    location / {
            return 301 http://www.domain.com;
    }

}

Estou exibindo um site em execução em um tomcat em "server0". Às vezes, nem sempre, recebo erros de conteúdo mistos no navegador, pois os pedidos foram enviados como http em vez de https. Estou tendo problemas para reproduzir os erros de maneira concisa, pois às vezes funciona e às vezes não funciona.

Alguma pista sobre como proceder para diagnosticar isso?

Editar: não são feitas chamadas codificadas para http.

    
por pokemonnogo 08.09.2016 / 14:42

1 resposta

0

Supondo que todas as suas chamadas estão indo para server0 , então, em /application/<something> , uma possível fonte desse problema é se as páginas da Web atendidas por server0 contiverem referências a recursos estáticos e forem obtidas via http e não https .

Veja as ferramentas do desenvolvedor do navegador. Com o Chrome, na guia "Rede" você pode ver todas as chamadas individuais feitas pelo navegador para buscar recursos adicionais enquanto analisa o HTML de cima para baixo, e talvez você possa identificar qual conteúdo veio das chamadas http inseguras.

Isso não é culpa do balanceador de carga, mas da implementação do aplicativo da Web.

    
por 08.09.2016 / 15:28