perl - 如何在 Mojolicious 中获取 IP 地址?
问题描述
我想在每次登录时为用户获取 IP。我试过了:
my $ip_address = $controller->tx->remote_address;
但它正在获取主机服务器IP。我应该如何得到它?
解决方案
如果你在反向代理后面$c->req->headers->header('X-Forwarded-For')
会给你你正在寻找的东西,但正确的解决方法是“通过设置环境变量告诉你的应用程序MOJO_REVERSE_PROXY
”
或者,如果您使用的是 Hypnotoad,请通过配置启用代理支持
# myapp.conf
{hypnotoad => {proxy => 1}};
“这允许 Mojolicious 自动获取X-Forwarded-For
和X-Forwarded-Proto
标题。”
一旦你这样做,它$c->tx->remote_address
会自动给你X-Forwarded-For
价值,如果你想要你会使用的原始 IP$c->tx->original_remote_address
来源:Mojo 食谱
推荐阅读
- html - 如何在导航中垂直居中徽标?
- python - 在一次试验中更新数据并再次使用更新数据的功能
- django - 如何正确更新 django 中的用户配置文件
- python - Beautifulsoup 是否有可以删除所有空格的功能
- node.js - 我在使用 npm install express 时遇到问题
- docker - 无法连接到 docker 容器
- node.js - 业务逻辑nodejs放在哪里
- npm - 端口 4200 已在使用中。使用“--port”指定不同的端口
- python - ValueError:检查目标时出错:预期dense_1的形状为(16、1、2)但得到的数组形状为(2、1、1)
- javascript - 使用 JavaScript 在数组中本地输出重复元素