【发布时间】:2016-04-19 12:40:27
【问题描述】:
我正在尝试使用 Flask 构建一个简单的种子跟踪器,但遇到了一个问题。
如果客户端在NAPT网络中,请求中包含的端口不正确。我想用 Flask 获取客户端连接端口(在 PHP 中类似这个函数:$_SERVER['REMOTE_PORT'])。
如何使用 Flask 获取客户端端口?
【问题讨论】:
我正在尝试使用 Flask 构建一个简单的种子跟踪器,但遇到了一个问题。
如果客户端在NAPT网络中,请求中包含的端口不正确。我想用 Flask 获取客户端连接端口(在 PHP 中类似这个函数:$_SERVER['REMOTE_PORT'])。
如何使用 Flask 获取客户端端口?
【问题讨论】:
如果 Flask 在反向代理之后,
request.environ.get('REMOTE_PORT')
不会给你你想要的,你会得到端口 由反向代理使用。
如果使用 Nginx,请将此 粗体 行添加到您的配置文件中:
server {
listen 80;
server_name _;
location / {
proxy_pass ...;
proxy_set_header WHATEVER $remote_port;
}
}
然后你就可以得到客户端端口了:
request.headers.get('WHATEVER')
【讨论】:
您可以从request.environ获取它
request.environ.get('REMOTE_PORT')
【讨论】: