Назад | Перейти на главную страницу

Проблема с SSL / HTTPS (без значка замка) в Safari при использовании ngixn + unicorn

У меня есть приложение, работающее на 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). Прикрепляю скриншоты для справки.

Mozilla Firefox Google Chrome Safari Изменение некоторых вещей в моем блоке сервера устраняет проблему, но сайт не загружается. Например, изменение, proxy_pass http://rtdev; --> proxy_pass https://rtdev; решает проблему, но nginx выдает ошибку 501.

Буду признателен, если кто-нибудь сможет пролить свет на то, как решить / отладить проблему. Спасибо.

РЕДАКТИРОВАТЬ: сертификаты правильно связаны. Я проверил настройки на нескольких сторонних сайтах, и все вроде нормально.

Я выяснил причину, и она не имеет ничего общего с конфигурацией моего сервера.

Очевидно, небезопасный сценарий был динамически внедрен одной из библиотек, которые я использовал. Сценарий использовал http не https.

Firefox и Chrome указывают на то, что страница содержит небезопасные сценарии, Safari, с другой стороны, не дает пользователю никаких отзывов и показывает страницу как небезопасную.

Я не знаю, что сказать, аплодировать ли Apple за чрезмерную осторожность или обвинять ее в отсутствии визуальной обратной связи.

Ссылки:

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

https://www.whynopadlock.com/

Делает

ssl_certificate xxxxxxxx/xxxxxxxxx.crt;

содержат сертификат сервера, а также необходимые промежуточные диаграммы (обычно поставляемые вашим центром сертификации вместе с сертификатом)?

Если цепочка неполная, это может вызвать проблемы с некоторыми браузерами (и особенно смартфонами).