そのため、静的メディアと負荷分散用のnginxとdjango用のWebサーバーとしてのtornado(4台のサーバーが実行中)を使用した簡単なセットアップを取得しました。私の問題は、remote_addr が django に渡されないため、KeyError が発生します。
article.ip = request.META['REMOTE_ADDR']
nginx.conf のおかげで、リモート アドレスは X-Real-IP (HTTP_X_REAL_IP) として送信されます。
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect false;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://frontends;
}
HTTP が META キーの先頭に追加されるため、proxy_set_header remote_addr $remote_addr を実行することはできません。リモート アドレス キーが見つからない場合は、X-Real-IP を読み取ることができますが、よりスマートなソリューションがあるかどうか知りたいです。
ありがとう!