ruby-on-rails – 当从私有NIC访问时,Rails显示IP为127.0.0.1,但Nginx显示正确的IP
发布时间:2021-02-21 15:37:02 所属栏目:Nginx 来源:互联网
导读:我们正在Unicorn Nginx上运行Rails应用程序.服务器有两个我们使用的网卡. eth0处理公共互联网的请求,eth2处理来自我们私人网络的请求.当通过eth0发出请求时,nginx日志显示公网IP,而Rails日志也显示此IP.但是,当通过eth2发出请求时,nginx日志会显示私有IP(例如
我们正在Unicorn Nginx上运行Rails应用程序.服务器有两个我们使用的网卡. eth0处理公共互联网的请求,eth2处理来自我们私人网络的请求. 当通过eth0发出请求时,nginx日志显示公网IP,而Rails日志也显示此IP.但是,当通过eth2发出请求时,nginx日志会显示私有IP(例如192.168.5.134),但是Rails日志显示为127.0.0.1. 所以似乎eth0上的公共请求让他们的X-Forwarded-For头设置正确,但是这并不是针对eth2的请求发生的. 我们的nginx配置是非常基本的:
有任何想法吗? 最佳答案 问题是Rails认为任何192.168.x.x地址是一个私有地址,因此从X-Forwarded_For标题中删除它们.
请参阅相关的Rails源here和here. 一个解决方案是将其添加到你的config / application.rb中:
这样,本地网络上的IP将不会被’127.0.0.1’所取代. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- apache-2.2 – 使用Nginx/Varnish/Apache记录客户端IP
- node.js – Node Express Unix域套接字权限
- 使用uWSGI在nginx下使用Flask部署我的Python打印件在哪里?
- nginx – Dokku:从应用程序收听多个端口
- 在Kubernetes上使用Nginx SSL代理运行Meteor应用程序
- 使用mod_wsgi冻结Django / Apache
- 如何允许特定IP到Nginx中的URL(而不是目录!)
- apache/nginx/IIS有什么区别
- nginx – 使用Spring Cloud OAuth2的SSL /代理问题
- Newrelic插件Nginx-nr-agent无法正常工作
推荐文章
站长推荐
- NGINX Unicorn 504网关超时
- nginx accept() failed (24: Too many open file
- linux – Nginx PHP-fpm权限
- nginx – 使用Spring Cloud OAuth2的SSL /代理问
- 网络 – Nginx:直接在text / plain中返回$remot
- asp.net – 如何配置nginx以支持cloudflare下的s
- nginx – 网站的软链接
- php – 使用nginx的混合IP和基于名称的虚拟主机
- nginx – Fail2Ban阻止行为取决于状态代码
- python-uswgi-无法从multiprocessing.semaphore_
热点阅读