我收到 EOFError 文件结尾错误。在 SSL 的 rails 控制器中运行 PrivatePub.publish_to("/dir/file", "Some Text") 时。认为它与 uri 不解析有关。不过真的不知道,也无法追踪任何东西来为我指明正确的方向。
还有其他人尝试使用 SSL 运行 PrivatePub 并遇到类似的情况或有解决方案吗?
更新:也许在控制台中有一些有用的东西。跑了:
res = PrivatePub.publish_to("/orders/160/status_update", "confirmed")
得到:=>#<Net::HTTPOK 200 OK readbody=true>
然后跑:
res.body
得到:=> [{"channel":"/orders/160/status_update","error":"Incorrect token.","successful":false}]
更新:
当我运行瘦服务详细时得到这个:
[{"id":"g","channel":"/meta/connect","successful":false,"error":"401:3qz34hj7bsqbpr953e8rfa89b:Unknown client" ,"建议":{"重新连接":"握手"}}]
更新:
在 nginx 配置中做了一些事情,现在我得到了:400 普通 HTTP 请求已发送到 HTTPS 端口。
更新:
我对服务器设置所做的一切都无法解决这个问题。这是 EOFError 响应中与 private_pub 相关的错误:
来自 /usr/local/rvm/gems/ruby-1.9.3-p125/gems/private_pub-1.0.1/lib/private_pub.rb:34:in publish_message
from /usr /local/rvm/gems/ruby-1.9.3-p125/gems/private_pub-1.0.1/lib/private_pub.rb:28:in publish_to
其中是:
第 34 行 publish_message(message(channel, data))
第 28 行 url = URI.parse(config[:server])
解决了!
在我的 private_pub gem 的分支中添加了 require 'net/https' 和 require 'uri' 到 lib/private_pub.rb。
不确定 net/https 或 uri 或两者都是票,但我不再收到 EOFError 并且 publish_to 方法似乎现在像宣传的那样工作。我想我现在需要请求与主分支合并,或者通知原始 gem 所有者,让他按照他认为合适的方式去做。