如何只允许从某些IP地址访问API

时间:2018-03-02 18:14:36

标签: node.js heroku

我目前有一个部署到heroku的节点js服务器。我想限制非授权域与API的交互。我知道我可以通过要求身份验证或要求特定请求主机在服务器端执行此操作。但是有没有办法在heroku上配置它?仅允许我拥有的特定服务器调用节点服务器。

1 个答案:

答案 0 :(得分:1)

Heroku最喜欢为它发送到您的应用程序的请求添加x-forwarded-for标头。您希望获得该列表中的第一个地址:

const ip = (req.headers['x-forwarded-for'] || '').split(',')[0];

req是请求对象。这个glitch证明了它的实际效果。

使用此地址,您可以根据节点服务器的IP来响应流量。