【发布时间】:2023-03-10 08:26:02
【问题描述】:
我在我们的Ruby 1.8.7项目中有如下方法:
def self.ping_server
request_data = get_request_data
uri = 'another_server.our_company.com'
https = Net::HTTP.new(uri)
https.use_ssl = true
path = "/our_service"
data = request_data.to_json
response = https.post(path, data, {'Content-Type' => 'application/json'})
return response
end
每当我运行此方法时,我都会收到以下超时错误:
在 128936 毫秒内完成 500 内部服务器错误
Errno::ETIMEDOUT (Connection timed out - connect(2)):
lib/my_class.rb:51:in `ping_our_server'
我咨询了一位可以访问 another_server.our_company.com 日志的同事。我的请求没有到达其他服务器。
我应该怎么做才能让我的请求生效?
编辑:经过进一步检查,这就是我认为正在发生的事情(但我不完全确定):我们的其他服务器将只接受 HTTPS 请求,但看起来我的请求正在出于某种原因通过 HTTP 发送。我需要添加什么来确保我的请求是通过 HTTPS 发送的吗?
【问题讨论】:
标签: ruby connection-timeout net-http ruby-1.8.7