Nginx

使用 ngixn+unicorn 時 Safari 上的 SSL/HTTPS 問題(無掛鎖圖示)

  • January 19, 2015

我有一個在 nginx+unicorn 上執行的應用程序。這就是我的伺服器塊的樣子

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;
  }
}

我遇到了一個奇怪的問題,Safari 沒有顯示安全站點的“鎖定”符號。所有其他瀏覽器都顯示它(在 Chrome 和 Firefox 上測試)。附上截圖供參考。

火狐瀏覽器 Google瀏覽器 蘋果瀏覽器

Mozilla Firefox Google Chrome Safari 修改我的伺服器塊中的一些內容修復了該問題,但該站點無法載入。例如更改, proxy_pass http://rtdev; --> proxy_pass https://rtdev; 解決了問題,但 nginx 拋出 501 錯誤。

如果有人能闡明如何解決/調試問題,我將不勝感激。謝謝。

編輯:證書已正確連結。我用幾個第三方網站驗證了設置,一切似乎都很好。

我找到了原因,這與我的伺服器配置無關。

顯然,我正在使用的一個庫動態注入了一個不安全的腳本。該腳本使用的是http而不是https

Firefox 和 Chrome 表明該頁麵包含不安全的腳本,而 Safari 則不給使用者任何回饋並將頁面顯示為不安全。

我不知道該說什麼,是稱讚蘋果過於謹慎還是指責它缺乏視覺回饋。

參考:

https://stackoverflow.com/questions/3292697/find-out-what-resources-are-not-going-over-https

https://www.whynopadlock.com/

ssl_certificate xxxxxxxx/xxxxxxxxx.crt;

包含伺服器證書以及所需的中間圖表(通常由您的 CA 與證書一起提供)?

如果鏈不完整,可能會導致某些瀏覽器(尤其是智能手機)出現問題。

引用自:https://serverfault.com/questions/640511