通过Apache实现SSL精简&x27;不要握手
我正在使用SSL/Apache在瘦服务器上运行PrivatePub 我有一个精简配置文件,如下所示:通过Apache实现SSL精简&x27;不要握手,apache,ssl,thin,Apache,Ssl,Thin,我正在使用SSL/Apache在瘦服务器上运行PrivatePub 我有一个精简配置文件,如下所示: ssl: true cert_chain_file: "{cert directory}/fullchain.pem" ssl_key_file: "{cert directory}/privkey.pem" environment: "production" rackup: "private_pub.ru" 我使用以下方法运行精简: $ bundle exec thin -p 9292 -C
ssl: true
cert_chain_file: "{cert directory}/fullchain.pem"
ssl_key_file: "{cert directory}/privkey.pem"
environment: "production"
rackup: "private_pub.ru"
我使用以下方法运行精简:
$ bundle exec thin -p 9292 -C config/private_pub_thin.yml start
其中private\u pub\u thin.yml
是上述配置文件
服务器启动时没有问题,并且确实找到了证书文件——这与我在Rails服务器上使用的证书文件相同,并且使用Qualys进行了检查
但是,我的Rails服务器在连接到精简版时遇到问题。我使用了openssl
试图找出问题所在:
$ openssl s_client -connect 0.0.0.0:9292
返回:
140388916979344:error:140790E5:SSL routines:ssl23_write:ssl handshake failure:s23_lib.c:177:
CONNECTED(00000003)
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 315 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
---
没有错误的一面
我不知道如何继续找出Thin没有进行正确握手的原因。修复。问题似乎是thin没有正确使用配置文件。它肯定是在解析它并检查SSL证书链和密钥文件的存在,正如我在实际的gem源代码中删除调试行所确认的那样,但不知何故没有正确地使用它们来进行SSL握手 将SSL证书链和密钥文件作为命令行选项传递,而不是在单独的配置文件中传递,效果很好