水管工 R,将'localhost'更改为本地机器 IP 作为测试



我有一个 R 脚本,它通过使用管道工的 API 输出值,当在浏览器中使用 127.0.0.1 或本地主机地址时,一切都在我的本地机器(Windows 10)上运行良好,但是如果我更改为使用我的机器实际 IP,浏览器会抛出"拒绝连接"错误(我正在将其作为测试运行, 在将所有内容移动到网络服务器上之前)。任何想法是否应该有效?文献似乎表明它应该...或者关于什么可能阻止它起作用的任何提示?

谢谢

您需要将 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)

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

还要记住,"机器的实际IP地址"可能有点模糊。如果这是本地网络上的IP(例如,192.168...172.16...),那么它可能是我上面提到的机器的防火墙。但是,如果您使用的是家用计算机并尝试访问您的公共IP,则需要配置更多网络设备(如路由器)。

综上所述,您可能会更轻松地启动DigitalOcean服务器并尝试在那里运行它(请参阅管道工的do_provision功能),因为您不必担心这些问题中的任何一个。

相关内容

最新更新