我正在尝试使用Flask构建一个简单的torrent跟踪器,但我遇到了一个问题。
如果 NAPT 网络中的客户端,请求中包含的端口不正确。我想用Flask获取客户端连接端口(在PHP中就像这个函数:$_SERVER['REMOTE_PORT']
)。
如何使用Flask获取客户端端口?
答案 0 :(得分:2)
您可以从request.environ
request.environ.get('REMOTE_PORT')
答案 1 :(得分:2)
如果Flask位于反向代理之后,
request.environ.get('REMOTE_PORT')
将不给您您想要的东西,您将获得港口 由反向代理使用。
如果使用Nginx,请将此粗体行添加到您的配置文件中:
<pre><codeserver {
listen 80;
server_name _;
location / {
proxy_pass ...;
<b>proxy_set_header WHATEVER $remote_port;</b>
} } </code></pre>
然后您可以使用:
request.headers.get('WHATEVER')