
Estou executando o Ubuntu 14.04 com Nginx 1.8.0. Ao abrir as páginas da web em https, as páginas parecem estar quebradas porque o css/js/images não carrega. Recebo este erro " Blocked loading mixed active content
"
Este é meu nginx.conf
:https://github.com/adithyakhamithkar/ansible/blob/master/roles/nginx/templates/nginx.j2
Este é o meu arquivo host virtual: https://github.com/adithyakhamithkar/ansible/blob/master/roles/nginx/templates/virtualhost_ssl.j2
Alguém poderia me orientar como consertar isso.
Responder1
Não pode ser corrigido com configuração do nginx
Considere o seguinte arquivo html:
<html>
<head>
</head>
<body>
<img src="http://example.com/some/image.png">
</body>
</html>
Se este arquivo html for veiculado por https - ele serásempregerar um aviso de conteúdo misto. A tentativa de corrigir a solicitação subsequente /some/image.png
não funcionará, a solicitação é bloqueada pelo navegador e não chega ao servidor.
Corrija o html
A única solução eficaz é corrigir a fonte html da solicitação principal, de modo que ela https://
também solicite todos os ativos, ou seja, altere o html para isto:
<html>
<head>
</head>
<body>
<img
src="/some/image.png"
alt="same domain and port as this html page please"
/>
</body>
</html>
Ou isto:
<html>
<head>
</head>
<body>
<img
src="https://example.com/some/image.png"
alt="explicit https"
/>
</body>
</html>
Nos comentários você mencionou o wordpress como exemplo; para uma instalação do wordpress, a única coisa necessária (em princípio, na prática, espere alguma bagunça) éalterar o URL do sitepara que o wordpress considere https://example.com
o URL raiz da instalação.
Responder2
O conteúdo ativo misto agora está bloqueado por padrão no Firefox 23 e superior. Não tenho certeza sobre outros navegadores
O que é conteúdo misto?
Quando um usuário visita uma página servida por HTTP, sua conexão fica aberta para espionagem e ataques man-in-the-middle (MITM). Quando um usuário visita uma página servida por HTTPS, sua conexão com o servidor web é autenticada e criptografada com SSL e, portanto, protegida contra bisbilhoteiros e ataques MITM.
No entanto, se uma página HTTPS incluir conteúdo HTTP, a parte HTTP poderá ser lida ou modificada pelos invasores, mesmo que a página principal seja servida por HTTPS. Quando uma página HTTPS possui conteúdo HTTP, chamamos esse conteúdo de “misto”. A página da web que o usuário está visitando é apenas parcialmente criptografada, pois parte do conteúdo é recuperado sem criptografia por HTTP. O bloqueador de conteúdo misto bloqueia certas solicitações HTTP em páginas HTTPS.
Parece que você está vinculando conteúdo estático não SSL. Você deve vincular seu conteúdo como
<a href='//host.com/file.png>
Se você precisar vincular de outro host.