擅长:python、mysql、java
<p>代理可能会使这变得有点棘手,如果您正在使用代理,请确保签出<a href="http://werkzeug.pocoo.org/docs/0.14/contrib/fixers/#werkzeug.contrib.fixers.ProxyFix" rel="noreferrer">ProxyFix</a>(<a href="http://flask.pocoo.org/docs/1.0/deploying/wsgi-standalone/#proxy-setups" rel="noreferrer">Flask docs</a>)。在您的特定环境中查看<code>request.environ</code>。有了nginx,我有时会这样做:</p>
<pre><code>from flask import request
request.environ.get('HTTP_X_REAL_IP', request.remote_addr)
</code></pre>
<p>当代理(如nginx)转发地址时,它们通常会在请求头的某个位置包含原始IP。</p>
<p><strong>更新</strong><a href="https://github.com/mattupstate/flask-security/blob/4049c0620383f42d37950c7a35af5ddd6df0540f/flask_security/utils.py#L65" rel="noreferrer">See the flask-security implementation</a>。同样,在实现之前,请查看有关ProxyFix的文档。您的解决方案可能因您的特定环境而异。</p>