gpt4 book ai didi

python - Apache + Python 瓶 : visitor IP always refers to 127. 0.0.1

转载 作者:行者123 更新时间:2023-11-30 22:56:31 33 4
gpt4 key购买 nike

我的服务器处理多个网站,其中大多数使用 Apache、PHP 等。

但其中一个 (www.mywebsite.com) 使用 Python Web 服务器,该服务器监听端口 8092。因此,此 Apache 配置:

<VirtualHost *:80>
ServerName mywebsite.com
ServerAlias *.mywebsite.com
RewriteEngine On
RewriteRule /(.*) http://localhost:8092/$1 [P,L]
</VirtualHost>

现在,当来自互联网的用户连接到 www.mywebsite.com 时,它就可以工作:Python 可以处理它,一切正常。

问题:我在 Python 代码中使用 bottle 获得的 IP:

ip = request.environ.get('REMOTE_ADDR')

始终127.0.0.1。

如何获取访问者的真实IP地址?

最佳答案

您的虚拟主机正在使用proxy rewriting 。客户端连接到 apache,后者打开到您的应用程序的代理连接、重写 URL 并代理请求。您的应用程序和客户端之间没有真正的连接。

由于您的应用程序和客户端之间没有直接连接,因此除非您告诉 apache 将其发送到您的应用程序,否则您无法获得“真实 IP”。通常的方法是设置类似 X-Forwarded-For 的内容。 header 。您可能必须显式使用 mod_proxy尽管如此,还是要做到这一点。

关于python - Apache + Python 瓶 : visitor IP always refers to 127. 0.0.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36954669/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com