#node.js #ibm-cloud #openwhisk #ibm-cloud-functions
#node.js #ibm-облако #открываем венчик #ibm-облачные функции
Вопрос:
Я пишу бессерверную функцию в IBM Cloud; мой код должен выполнять действия на основе удаленного IP-адреса, фильтруя запросы по странам. Как я могу получить сведения о соединении, такие как Экспресс req.ip
или узел request.connection.remoteAddress
?
Комментарии:
1. Пожалуйста, предоставьте более подробную информацию. Кто кому звонит, какой код вызывает что? Что такое источник IP-адреса? Вызываете ли вы действие как webhook / API или вызываете его как вызов функции, например, в последовательности?
2. Спасибо за ваш комментарий, к сожалению, на данный момент ответа нет. Тем не менее, я пытался получить исходный IP-адрес при вызове действия из http-запроса
Ответ №1:
Недавно я обратился в службу поддержки IBM Cloud по этому поводу. Они сказали, что это еще не было поддержано.
Во время тестирования облачных функций я хотел проверить, могу ли я использовать IP-адрес клиента для геолокации. Это пример использования, который я использую на своей работе (сейчас мы не используем IBM Cloud, мы используем GKE). Я заметил, создав тестовую функцию, что мне удалось зарегистрировать заголовки, когда я сделал это веб-действием. Я заметил, что было два заголовка, которые, как оказалось, содержали IP-адрес клиента (моего веб-браузера), но это не тот IP-адрес. Мой IP-адрес сейчас таков … но заголовки X-Forwarded-For и X-Real-IP содержали IP 172.70.130.199, согласно журналам в LogDNA.
Их ответ:
Спасибо за ваше терпение, и команда функций подтвердила, что это еще не поддерживается, и это было отправлено команде разработчиков для проверки, чтобы добавить в конвейер разработки. Извините за причиненные неудобства и не стесняйтесь сообщать нам, если у вас возникнут дополнительные проблемы.
Комментарии:
1. Это был именно мой вопрос. Спасибо.
2. Пожалуйста. Не стесняйтесь также открывать запрос в службу поддержки с просьбой об этой функции. Я полагаю, что они реализуют только то, чего люди хотят больше всего.