【发布时间】:2020-05-25 03:41:23
【问题描述】:
我使用 Perl 'Mojolicious' 框架编写了一个 API,它通过 CORS 接收来自其他 Web 服务器的请求,但是我无法提取请求服务器的 IP 地址。 p>
提取像X-Forwarded-For 这样的标头只给出客户端的IP 地址? Perl 或 Mojolicious 中是否有任何方法可以从 IP 数据包本身中提取源 IP?
使用内置 Mojolicious $self->tx->remote_address 方法不起作用,因为我的 API Web 服务器位于 Nginx 反向代理后面。
【问题讨论】:
-
remote_address函数返回客户端IP,而不是调用我的API的服务器IP。
-
调用您的 API 的“服务器”是客户端。
-
实际上现在显示的是 127.0.0.1,可能是因为我的 API Web 服务器运行在 Nginx 后面。
-
你需要配置 nginx 将真实的客户端 IP 地址粘贴到其他环境变量中
标签: api perl mojolicious