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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何只允许从某些IP地址访问API相关的知识,希望对你有一定的参考价值。

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

答案

Heroku最有可能在它发送到您的应用程序的请求中添加一个qazxsw poi标头。您需要获取该列表中的第一个地址:

x-forwarded-for

其中const ip = (req.headers['x-forwarded-for'] || '').split(',')[0]; 是请求对象。这个req在行动中展示了它。

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

以上是关于如何只允许从某些IP地址访问API的主要内容,如果未能解决你的问题,请参考以下文章

iptables中规则的关系——以只允许某些IP段访问为例

如何从请求上下文nestjs中获取IP地址?

如何设置 spring-boot 以允许从外部 IP 地址访问网络服务器

通过 IP 限制对 CloudFront 的访问

Linux 如何设置只允许域名访问站点而禁止IP访问站点

htaccess 通过 ip 范围访问文件