这是我第一次在我的开发机器上configurationSSL证书(我不是系统pipe理员 – 我需要SSL来与Facebook一起工作)。 我决定与ngingx代理一个rubysinatra应用程序,没有什么幻想。
这是我尝试连接到我的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
这就是我所做的:
安装在本地nginx并configuration如下:
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; } }
在端口4567和8080上分别重启nginx和puma
去https://sandbox.thing.it ,应用程序按预期作出响应,连接被encryption,证书似乎是正确的。
去Facebook并尝试注册一个新的页面订阅( https://developers.facebook.com/docs/graph-api/webhooks/v2.2 )。 如果Facebook尝试validation我的callback链接时,报告错误(SSL_do_handshake()失败)
任何build议?