gpt4 book ai didi

ruby-on-rails - 关于如何在 nancy 服务和服务器之间建立连接的建议

转载 作者:数据小太阳 更新时间:2023-10-29 08:11:48 25 4
gpt4 key购买 nike

我正在做一个项目,我们在使用 tomcat 的 Ubuntu 服务器上托管站点(使用 ruby​​ on rails 开发)。我们希望这些站点对使用 Nancy 开发的服务进行 HTTP 调用。我们在本地工作,因此服务托管在我们可以在我们的网络中调用的机器上。然而,我们不能让它在现场工作。这是一个示例调用:

def get_call(routePath)
started_at = Time.now
enc_url = URI.encode("#{settings.service_endpoint}#{routePath}")
uri = URI.parse(enc_url)
http = Net::HTTP.new(uri.host, uri.port)
req = Net::HTTP::Get.new(uri.request_uri)
resp = http.request(req)
logger.bench 'SERVICE - GET', started_at, routePath
return resp if response_ok?(resp)
end

在本地工作时,设置如下:

settings.service_endpoint = http://10.10.10.27:7820
routePath = /Customers

当我们将其上传到服务器时,我们使用以下内容:

settings.service_endpoint = http://127.0.0.1:24099
routePath = /Customers

我们目前收到以下错误:

SocketError at /register
initialize: name or service not know

突出显示以下行:

resp = http.request(req)

我们是否完全错误地调用了 IP。应该是 127.0.0.1,本地主机。 10.10.10.27 还是完全不同的东西?奇怪的是我们可以在我们的 Ubuntu 服务器 (telnet 127.0.0.1 24099) 中通过 telnet 进行 GET 调用,所以这一定意味着服务器可以进行调用,但服务器上托管的站点不能。我们是否需要包含一个 HTTP 代理(已阅读一些引用资料,但真的不知道是否需要)。

如果这很明显,我们深表歉意,但我们之前从未尝试过这样的事情,所以这一切都非常令人困惑。需要任何进一步的信息,请告诉我。

最佳答案

我们将 service_endpoint 更改为 localhost,它起作用了。不确定这是因为它不喜欢“http://”还是其他原因。任何关于为什么会这样的解释将不胜感激,只是让我们知道。谢谢!

关于ruby-on-rails - 关于如何在 nancy 服务和服务器之间建立连接的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31477396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com