Независимо от того, по какому адресу я пытаюсь позвонить в интерфейсе API, возврат всегда является тайм-аутом.Посмотрите URL-адрес ниже:
http://api.ipstack.com/179.184.244.99?access_key=c0b9ed974e5b8c83d7037614b56b9727
если вы позвоните этому через браузер, вы увидите, что ответ работает нормально, но если я позвоню по этому URL-адресу внутри api connect, возвратошибка тайм-аутаЭто не проблема брандмауэра внутри моей организации.
удаленный метод (только тест):
Chatbot.mensagem = function(ctx, cb) {
testeIP();
}
функция
function testeIP(){
var urlIpGeoLocation = 'http://api.ipstack.com/179.184.244.99?access_key=c0b9ed974e5b8c83d7037614b56b9727'
console.log("URL: " + urlIpGeoLocation);
request.get(urlIpGeoLocation, { withCredentials: false }, function (err, response, body) {
console.log("###### TEST EXTERNAL CALL #####: ")
console.log('body: ', body)
console.log('response: ', response)
console.log('err: ', err)
return null
})
}
результат
2018-09-17T21:15:13.152Z pid:9444 worker:1 ###### TEST EXTERNAL CALL #####:
2018-09-17T21:15:13.152Z pid:9444 worker:1 body: undefined
2018-09-17T21:15:13.152Z pid:9444 worker:1 response: undefined
2018-09-17T21:15:13.152Z pid:9444 worker:1 err: { Error: connect ETIMEDOUT 23.246.243.35:80
2018-09-17T21:15:13.152Z pid:9444 worker:1 at Object._errnoException (util.js:992:11)
2018-09-17T21:15:13.152Z pid:9444 worker:1 at _exceptionWithHostPort (util.js:1014:20)
2018-09-17T21:15:13.153Z pid:9444 worker:1 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)
2018-09-17T21:15:13.153Z pid:9444 worker:1 code: 'ETIMEDOUT',
2018-09-17T21:15:13.153Z pid:9444 worker:1 errno: 'ETIMEDOUT',
2018-09-17T21:15:13.153Z pid:9444 worker:1 syscall: 'connect',
2018-09-17T21:15:13.153Z pid:9444 worker:1 address: '23.246.243.35',
2018-09-17T21:15:13.153Z pid:9444 worker:1 port: 80 }
Один из моих подозреваемых - IBM microgateway, возможно, он блокирует внешние вызовы, но я попытался найти эту конфигурацию, но у меня не получилось.