水管工R,改变本地主机'到本地机器IP作为测试

时间:2018-01-05 17:03:50

标签: r server plumber

我有一个R脚本,它通过使用Plumber的API输出值,在浏览器中使用127.0.0.1或localhost地址时,我的本地计算机(Windows 10)上运行正常,但是如果我更改为使用我的机器浏览器抛出的实际IP拒绝连接'错误(在将所有内容移到联网服务器上之前,我将其作为测试运行)。任何想法,如果这应该工作?文献似乎暗示它应该......或者有什么可能阻止它起作用的提示?

感谢

2 个答案:

答案 0 :(得分:1)

您需要将127.0.0.1替换为0.0.0.0,以使机器ip可以访问您的api。

library(plumber)
r <- plumb("api.R")
r$run(host = "0.0.0.0", port = 8000)

答案 1 :(得分:0)

您的计算机上可能配置了防火墙,阻止了对您IP地址的“外部”访问。您需要在本地防火墙中打开一个端口以允许流量进入,但您最好只是部署到外部服务器,这样您就不必开始在机器的防火墙中挖洞(真正的安全问题)就像一个实验。

另请注意,“机器的实际IP地址”可能有点含糊不清。如果这是您本地网络上的IP(例如,192.168...172.16...),那么它可能就像我上面提到的那样是您机器的防火墙。但是,如果您正在使用住宅计算机并尝试访问公共 IP,则需要配置更多的网络设备(如您的路由器)。

所有这一切,你可能会有更轻松的时间来旋转DigitalOcean服务器并尝试在那里运行它(请参阅管道工的do_provision功能),因为您不必担心任何问题。那些问题。