private_pub gem rails和https错误

时间:2015-01-09 17:09:27

标签: ruby-on-rails ssl https thin private-pub

我一直在生产中使用private_pub超过一年,最近我刚刚将应用程序从http移至https。我们已经安装了已签名的证书,其他所有内容都在应用程序中运行,但是当private_pub / thin提交任何要推送的内容时,我收到以下错误。

SocketError (getaddrinfo: Name or service not known)

我一直无法找到任何具体的错误和private_pub / thin但我看到的其他问题与sunspot / solr指向 localhost 时需要 127.0 .0.1 。我的private_pub配置使用实际的https://domain.com

我的应用程序可以连接到faye.js,但我收到上面的服务器错误。

private_pub_thin.yml:

---
port: 4443
ssl: true
ssl_key_file: /path/to/ssl.key
ssl_cert_file: /path/to/ssl.cert
environment: production
rackup: private_pub.ru
daemonize: true

private_pub.yml:

production:
server: "https://sub.mydomain.com:4443/faye"
secret_token: "<token here>"
signature_expiration: 3600 # one hour

private_pub.ru:

require "bundler/setup"
require "yaml"
require "faye"
require "private_pub"

Faye::WebSocket.load_adapter('thin')

PrivatePub.load_config(File.expand_path("../config/private_pub.yml", __FILE__), ENV["RAILS_ENV"] || "development")
run PrivatePub.faye_app

任何想法都将不胜感激。提前谢谢

---编辑---

我没有提到这一点,但我确实在服务器的iptables上打开了端口4443,我甚至尝试完全关闭iptables进行测试。仍然有同样的错误

1 个答案:

答案 0 :(得分:1)

想出来......这与SSL证书有关。

看来我错过了CA Bundle,或者它没有正确安装。修复此问题,然后在此处执行此修复:Using private_pub with SSL

将ca_bundle附加到实际的证书上。

我发现一些有用的工具可以帮助调试:

https://github.com/mislav/ssl-tools/tree/8b3dec4bedcc725a142fa9bc297610f8d09f5d9d https://www.digicert.com/help/

希望它可以帮助他人。