2014-10-29 3 views
4

nginx + unicorn에서 실행되는 응용 프로그램이 있습니다. 이것은 내가 사파리 보안 사이트에 대한 "잠금"기호를 표시하지 않는 이상한 문제로 실행 해요 ngixn + unicorn을 사용할 때 Safari의 SSL/HTTPS 문제 (자물쇠 아이콘 없음)

upstream rtdev{ 
# fail_timeout=0 means we always retry an upstream even if it failed 
# to return a good HTTP response (in case the Unicorn master nukes a single worker for timing out). 
server unix:/tmp/rtapp.sock fail_timeout=0; 
} 

server{ 

listen    443 ssl; # default; 
server_name   devapp.resolutiontweet.com; 
root     /home/xxxxxxx/xxxxxxxxx/public; 
client_max_body_size 12M; 

ssl on; 
ssl_certificate   xxxxxxxx/xxxxxxxxx.crt; 
ssl_certificate_key  xxxxxxxx/xxxxxxxxx.key; 

ssl_ciphers "AES256+EECDH:AES256+EDH"; 
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
ssl_prefer_server_ciphers on; 
ssl_session_cache shared:SSL:10m; 

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains"; 
add_header X-Frame-Options DENY; 
add_header X-Content-Type-Options nosniff; 

ssl_stapling on; # Requires nginx >= 1.3.7 
ssl_stapling_verify on; # Requires nginx => 1.3.7 

location/{ 
    access_log   off; 

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

    proxy_redirect off; 
    proxy_headers_hash_max_size 8192; 
    proxy_headers_hash_bucket_size 256; 

    proxy_pass   http://rtdev; 


    #proxy_redirect  http://rtdev https://devapp.resolutiontweet.com; 
    } 
} 

처럼 내 서버 블록 모습입니다. 다른 모든 브라우저에서이를 보여줍니다 (Chrome 및 Firefox에서 테스트 됨). 참조 용 스크린 샷 첨부. 내 서버 블록에서 몇 가지를 수정

Mozilla Firefox Google Chrome Safari

모질라 파이어 폭스 구글 크롬 사파리

이 문제를 해결하지만, 사이트가로드되지 않습니다. 예를 들어 변경하면

proxy_pass http://rtdev; --> proxy_pass https://rtdev; 이 문제를 해결하지만 nginx는 501 오류를 발생시킵니다.

누구든지 문제를 해결하거나 디버깅하는 방법에 대해 알려 주시면 감사하겠습니다. 감사.

EDIT : 인증서가 제대로 연결됩니다. 몇 가지 타사 사이트로 설정을 확인했는데 모든 것이 잘된 것처럼 보입니다.

답변

2

이유를 알아 냈고 내 서버 구성과 관련이 없습니다.

분명히 안전하지 않은 스크립트가 내가 사용하고 있던 라이브러리 중 하나에 의해 동적으로 주입되었습니다. 스크립트에서 http이 아닌 https을 사용하고있었습니다.

Firefox와 Chrome은 Safari가 안전하지 않은 스크립트를 포함한다는 표시를 사용자에게 제공하지 않으며 페이지를 안전하지 않은 것으로 표시합니다.

지나치게 조심 스럽거나 비주얼 피드백의 부족으로 애플을 칭찬할지에 대해 나는 몰라.

참고 :

Find out what resources are not going over HTTPS

https://www.whynopadlock.com/