当前位置: 首页 > 面试题库 >

Django获取IP仅返回127.0.0.1

拓拔元徽
2023-03-14
问题内容

我有一个用gunicorn和nginx和django设置的网络服务器。

我正在远程访问它:

def testIP(request):
    ip_address = utils.get_ip(request)

我只是一直获得127.0.0.1的IP地址,就像我说的那样,我正在远程访问它,因此它不应该提供本地地址。

我认为这可能与古尼康有关,但我想先在这里检查一下,看看你们是否有任何见识。


问题答案:

get_ip()如何工作?

如果nginx是反向代理,而gunicorn是应用服务器,则它总是从本地计算机上的nginx获取请求。

在我的情况下,nginx发送到应用服务器的真实IP是HTTP_X_REAL_IP通过nginx conf行proxy_set_header X-Real-IP $remote_addr;

因此,您可能需要设置该值,并在django应用程序帐户中使用新IP头或set
request.META['REMOTE_ADDR']=来设置其他头request.META['HTTP_X_REAL_IP']



 类似资料:
  • 问题内容: 我正在写一个简单的网络应用程序…我需要知道我的机器在网络上的真实IP,例如192.168.1.3。getLocalHost返回127.0.0.1(在Linux上,如果在Windows上相同,则为dunno)怎么做? 问题答案: 由于机器可能有多个地址,因此很难确定哪个地址适合您。通常,您希望系统根据其路由表分配IP。由于结果取决于您要连接的IP,因此有一个简单的技巧:只需创建一个连接并

  • 问题内容: 我想获取html页面的“打印值”。 我在下面的查询中尝试过,但是showGetResult()仅返回“空值” 但是当我尝试此代码时,我的apache服务器日志已打印,我访问了index.php。 (index.php只是打印helloworld) 问题答案: 我想你想做的就是这个。

  • 问题内容: 如何在Django中获取用户的IP? 我有这样的看法: 但是我得到这个错误: 问题答案: 确保正确配置了反向代理(如果有)(例如,为Apache安装)。 注意:上面使用的第一项,但是你可能想使用最后一项(例如,在Heroku的情况下:在Heroku上获取客户端的真实IP地址) 然后将请求作为参数传递给它;

  • 问题内容: 我正在用Django + jQuery测试ajax。我认为: 这在我的模板中: 我的问题是-为什么这会在我的HTML页面中返回“ Not ajax”? 问题答案: 我不知道你怎么了 我测试并取得了良好的消息:。我的代码: urls.py views.py templates / home.html

  • 问题内容: 我在互联网上读过有关回调的信息,但就我而言我还是听不懂。 我具有此功能,并且在运行时会记录到控制台。但是,现在我需要在另一个功能中使用此响应,而我正在努力做到这一点。 这是我应该得到的地方:(这显然不起作用,因为它不等待响应。) 我真的很难把头放在回调上,我在这里盯着自己瞎了。 问题答案: 回调无法返回值,因为它们将要返回的代码已经执行。 因此,您可以做几件事。一个传递回调函数,异步函

  • 我正在编写一个小的Python脚本(Python2.7.13)来执行ARP扫描。问题是我还不太懂Shell脚本...我正在Kali Linux上运行,到目前为止我使用的是: 通过这样做,我仍然可以得到IP: 要获得作为我的ip变量,我需要向我的ip分配添加什么?我已经在网上查过了,但我就是找不到Linux上的解决方案。我只在Mac OS X上找到了很好的解决方案(使用Bash解析ifconfig以