我已经使用this tutorial安装了Acralyzer,并获得了以下参数以将Acra集成到我的Android应用中:
httpMethod = Method.PUT,
reportType = Type.JSON,
formUri = "http://localhost:5984/acra-myap/_design/acra-storage/_update/report",
formUriBasicAuthLogin = "myap-reporter",
formUriBasicAuthPassword = "a11youneedisl0v3"
在安装Acralyzer之前,我跑了
ssh -L5984:127.0.0.1:5984 [email protected]
(在
AAA.BBB.CCC.DDD
上建立到CouchDB的隧道),其中AAA.BBB.CCC.DDD
是我在DigitalOcean的实例的地址。我很聪明,在安装Acralyzer之后,我终止了ssh进程并尝试打开URL
http://AAA.BBB.CCC.DDD:5984/acra-myap/_design/acra-storage/_update/report
。我无法通过浏览器连接到它,这意味着Android应用程序将无法将崩溃报告发送到Acralyzer。
为了使Acralyzer的URL(
http://AAA.BBB.CCC.DDD:5984/acra-myap/_design/acra-storage/_update/report
)在没有ssh隧道的情况下可用,我该怎么办? 最佳答案
您尝试联系的端口似乎未打开。您应该通知iptables
(Linux防火墙),以接受端口5984上的传入流量:
sudo iptables -A INPUT -p tcp --dport 5984 -j ACCEPT
您可以找到有关如何创建iptables规则以及如何保存它们的更多信息here。
Digital Ocean可能具有防火墙,该防火墙会在您到达服务器之前将您阻止,但是打开实例上的端口值得一试。