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

nginx SSL_do_handshake () не удалось

я впервые настраиваю SSL-сертификат на своей машине разработки (я не системный администратор - мне нужен SSL для работы с facebook). Я решил пойти с ngingx проксированием приложения ruby ​​sinatra, ничего особенного.

Это ошибка, которую я получаю, когда Facebook пытается подключиться к моему HTTP-серверу. AFAIK nginx здесь виноват:

2015/11/26 15:42:03 [info] 42872#0: *3 SSL_do_handshake() failed (SSL: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca:SSL alert number 48) while SSL handshaking, client: 31.13.113.70, server: 0.0.0.0:4567

Вот что я сделал:

  1. Загрузил сертификат (.key, .crt и .csr) из RapidSSL
  2. Загрузил доверенный сертификат из RapidSSL (https://knowledge.rapidssl.com/library/VERISIGN/ALL_OTHER/RapidSSL%20Intermediate/RapidSSL_CA_bundle.pem) и сохранены локально в / etc / ssl / cert /
  3. Установлен локально nginx и настроен так:

    upstream server {
      server 0.0.0.0:8080;
    }
    
    server {
      listen 4567  default_server ssl;
      server_name  sandbox.thing.it;
      ssl_certificate  /Users/ngw/thing/server.crt;
      ssl_certificate_key /Users/ngw/thing/server.key;
      ssl_stapling on;
      ssl_stapling_verify on;
      ssl_trusted_certificate /etc/ssl/cert/RapidSSL_CA_bundle.pem;
      resolver 8.8.8.8 8.8.4.4 valid=300s;
      resolver_timeout 10s;
    
      ssl_prefer_server_ciphers On;
      ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
      ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
    
     location / {
       proxy_pass http://server;
       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     }
    }
    
  4. Перезапустили nginx и puma соответственно на портах 4567 и 8080.

  5. Пошел в https://sandbox.thing.it, приложение ответило должным образом, соединение было зашифровано, и сертификат оказался правильным.

  6. Зашел в Facebook и попытался зарегистрировать подписку на новую страницу (https://developers.facebook.com/docs/graph-api/webhooks/v2.2). Если бы ошибка сообщалась сверху (сбой SSL_do_handshake ()), когда Facebook пытался проверить мой URL-адрес обратного вызова

Любое предложение?