Я просто запускаю приложение фляги и не использую nginx и uwsgi, да, мой хост находится за блансером нагрузки.
Я пытаюсь прочитать все ключи, которые могут читать IP-адрес, но яфактический IP-адрес клиента не получается.
X-Real-IP меняется при каждом запросе, а X-Forwarded-For имеет только один IP-адрес, который является IP-адресом балансировщика нагрузки.
Та же проблемас бутылкой.Когда я запускал приложение напрямую из python app.py, я не смог получить реальный IP-адрес.Должно ли это использовать uwsgi и nginx для примера приложения для чтения IP?
Если я использую приведенную ниже конфигурацию и пересылаю uwsgi_param, я могу прочитать список IP-адресов в ответе.
Ниже wsgi_file.ini
[uwsgi]
socket = 127.0.0.1:8000
plugin = python
wsgi-file = app/app.py
process = 3
callable = app
nginx.conf
server {
listen 3000;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
uwsgi_pass 0.0.0.0:8000; #unix:///tmp/uwsgi.sock;
include /etc/nginx/uwsgi_params;
uwsgi_param X-Real-IP $remote_addr;
uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
uwsgi_param X-Forwarded-Proto $http_x_forwarded_proto;
}
}
Я запустил сервер nginx и запустил приложение с помощью команды: uwsgi --ini wsgi_file.ini,