首页 > 解决方案 > API CALL 上不允许此令牌的 IP 地址

问题描述

请多多包涵,我是集成 API 的新手,所以遇到了一些需要专家帮助的问题。我正在研究仅将服务器 IP 地址列入白名单以访问其资源的 API。但是,我正在本地 PC 上进行集成。现在,当我尝试从 localhost 访问 API 时,它告诉我我的 PC 的 IP 地址不允许用于我正在使用的令牌。我试图在谷歌上搜索如何从我的电脑上使用服务器的 IP 地址,我遇到了一个叫做 PORT FORWARDING 的东西。我试图弄清楚它是什么,但在我的电脑上设置它时遇到了一些困难。有人可以帮助我使用我的 PC 上的服务器地址发出请求的任何替代方法吗?如果不,如果有人可以用外行的语言向我解释什么是端口转发,如果可能的话,我将不胜感激。先感谢您。我在 Linux-mint 上

在此处输入图像描述

标签: linuxapinetworkingpostmanport

解决方案


要使用您的服务器的 IP 地址发出请求,该请求必须至少通过您的服务器。设置临时 SSH“端口转发”是最简单的方法。以下命令打开与您的服务器计算机的 SSH 会话,在会话期间,ssh 客户端将侦听您的开发计算机上 TCP 端口 8443 上的连接,服务器会将它们转发到 somewebsite.net:443。

ssh -L 8443:somewebsite.net:443 your.server.name

如果您现在从 Postman 发送请求https://localhost:8443,SSH 会将请求通过隧道传送到您的服务器。服务器将代表您与 somewebsite.net 通信,请求将包含您服务器的 IP 地址。

请参阅有关此功能的更多讨论,例如:

不过,这种端口转发方式并非没有问题。您正在使用 HTTPS,其中包括针对“中间人”拦截此类连接的保护。您可以通过禁用证书验证来解决此问题。另一个问题是 somewebsite.net 可能希望您将HostHTTP 请求标头设置为“somewebsite.net”,而它将被设置为“your.server.name”。


推荐阅读