У меня настроена среда с балансировкой нагрузки в AWS Elastic Beanstalk с развернутым и запущенным приложением Django Django-user-session .Я хотел бы, чтобы он мог регистрировать внешние IP-адреса сеанса пользователя, но все, что регистрируется, является внутренним IP-адресом.У меня есть другая среда, которая не сбалансирована по нагрузке, и внешние IP-адреса пользователей собираются, поэтому я вполне уверен, что IP-адрес пользователя перезаписывается внутренним IP-адресом балансировщика нагрузки.
Я попытался установить django-xforwardedfor-middleware , который предположительно добавляет request.META['REMOTE_ADDR'] = request.META['HTTP_X_FORWARDED_FOR'].split(',')[0].strip()
к каждому запросу, но это не решило проблему.
У меня также есть перезапись HTTPS-движка в моем .ebextensions
, то есть не работает в среде, которая работает должным образом, но я не думаю, что это проблема:
files:
"/etc/httpd/conf.d/ssl_rewrite.conf":
mode: "000644"
owner: root
group: root
content: |
RewriteEngine On
<If "-n '%{HTTP:X-Forwarded-Proto}' && %{HTTP:X-Forwarded-Proto} != 'https'">
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</If>
Есть ли еще какие-то вещи, которые я мог бы попытаться получить django-user-sessionсобирать внешние пользовательские IP-адреса?