遇到的错误是:Dial tcp [:: 1]:3000:getsockopt:连接被拒绝

时间:2019-03-22 00:52:57

标签: ruby-on-rails ruby ngrok

我正在努力使Webhook在Rails应用程序中着陆。我的Rails服务器正在运行,我已经连接到ngrok和外部应用程序。但是指出我的应用程序无法运行的错误。

localhost:3000运行,我可以将Webhook接到ngrok。怎么了?


http://9xxxxxx5.ngrok.io的连接已成功通过隧道传输到您的ngrok客户端,但是该客户端未能建立与本地地址localhost:3000的连接。

确保Web服务正在localhost:3000上运行,并且它是有效地址。

遇到的错误是:拨打tcp [:: 1]:3000:getsockopt:连接被拒绝


看到localhost:3000后,Rails应用程序运行。为什么无法连接......

这是结果ps aux | grep ruby

user               63542   0.0  0.0  4306992     40 s000  S+    7:00PM   0:00.05 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/app/assets
user               63541   0.0  0.0  4306992     40 s000  S+    7:00PM   0:00.05 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/app/channels
user               63540   0.0  0.0  4298800     40 s000  S+    7:00PM   0:00.05 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/test/mailers/previews
user               63539   0.0  0.0  4306992     40 s000  S+    7:00PM   0:00.04 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/app/uploaders
user               63538   0.0  0.0  4306992     40 s000  S+    7:00PM   0:00.05 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/app/services
user               63537   0.0  0.0  4306992     40 s000  S+    7:00PM   0:00.05 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/app/models
user               63536   0.0  0.0  4306992     40 s000  S+    7:00PM   0:00.05 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/app/mailers
user               63535   0.0  0.0  4306992     40 s000  S+    7:00PM   0:00.05 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/app/jobs
user               63534   0.0  0.0  4306992     40 s000  S+    7:00PM   0:00.05 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/app/helpers
user               63533   0.0  0.0  4306992     40 s000  S+    7:00PM   0:00.05 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/app/controllers
user               63532   0.0  0.0  4298800     40 s000  S+    7:00PM   0:00.05 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/db
user               63531   0.0  0.0  4298800     40 s000  S+    7:00PM   0:00.06 /Users/xxxxxx/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-fsevent-0.10.3/bin/fsevent_watch --format=otnetstring --latency 0.1 /Users/xxxxxx/Workspace/app/config/locales
user               64927   0.0  0.0  4258736    192 s002  R+    7:42PM   0:00.00 grep ruby

更新

我试图杀死最后一个。但是我不能,因为每次进程号都是随机的,如下所示:

我仍然无法连接ngrok ....

2 个答案:

答案 0 :(得分:1)

感谢@lascostenycoder

我很惊讶能在sudo vi /etc/hosts之后解决该问题。 我曾为MAMP编辑过其他项目。所以我做不到。

感谢您的帮助:)

答案 1 :(得分:0)

您需要将端口添加到您的ngrok命令,Rails默认本地开发为3000

ngrok http 3000

然后,您应该可以在浏览器中输入ngrok地址

http://xxxxxx.ngrok.io/

我能够重现您的错误的唯一方法是停止我的Rails服务器,然后当我尝试打开ngrok url时收到您的错误。因此,这意味着您的服务器未运行或ngrok无法连接到它。

更新2

确保/etc/hosts中没有发生任何可能引起问题的事情。

更新

确保没有任何流氓红宝石进程在运行。根据您更新的评论,运行此命令将其全部杀死

ps aux | grep ruby | awk '{print $2}' |  xargs kill -9

或者尝试看看弹簧是否是问题所在:

spring status
spring stop

然后检查并确保所有内容均已杀死,然后从步骤1重新开始。

ps aux | grep ruby

可能是您的应用/配置所特有的?因此,请尝试杀死所有正在运行的Rails服务器,如果不确定,请重新启动计算机。然后转到一个新的项目文件夹,只需添加一个新的Rails应用程序,然后在其运行后再次尝试ngrok,看看它是否有效。还要确保在ngrok命令中使用http和https。

相关问题