Al obtener la IP con el código request.META['REMOTE_ADDR']
. Esto funciona bien en el sistema local, pero cuando se aloja en un servidor web, el IP obtenido es 127.0.0.1 - ¿Cómo se puede resolver esto?Usando Django, ¿por qué REMOTE_ADDR devolvería 127.0.0.1 en un servidor web?
Respuesta
Su servidor web está probablemente detrás de un equilibrador de carga. Puede intentar usar request.META ['HTTP_X_FORWARDED_FOR'].
O mejor, mira django book, chapter 15 - ¿Qué es Middleware? y Reverse Proxy Support (X-Forwarded-For Middleware) secciones.
Tenga en cuenta que el middleware X-Forwarded-Forward ha sido desaprobado/eliminado de versiones recientes de Django, ya que se decidió que podría dar a los desarrolladores una falsa sensación de que realmente se puede confiar en el encabezado X-Forwarded-For (que puede ' t). Lo suficientemente fácil como para escribir el tuyo; solo tenga en cuenta que puede ser falsificado fácilmente. –
Si está detrás de un proxy y ejecuta Apache como servidor web, puede usar mod_rpaf. El proxy solo necesita enviar encabezados X-Forwarded-For o X-Real-IP.
- 1. ¿Por qué LsaAddAccountRights devolvería STATUS_INVALID_PARAMETER?
- 2. ¿Por qué ServerVariable ["REMOTE_ADDR"] devuelve la IP del servidor?
- 3. Django get IP only returns 127.0.0.1
- 4. ¿Por qué typeof (Foo) alguna vez devolvería nulo?
- 5. ¿Por qué request.env ['REMOTE_ADDR'] devuelve dos direcciones IP?
- 6. ¿Por qué es necesario "fork" por socat cuando se conecta a un servidor web?
- 7. ¿por qué? Gwt.codesvr = 127.0.0.1: 9997 está anexado a la url?
- 8. Usando el servidor web incorporado de Django en un entorno de producción
- 9. Matplotlib: gráfico interactivo en un servidor web
- 10. remote_addr no devolviendo la dirección IPv4
- 11. ¿Por qué HMAC SHA-1 devolvería un resumen diferente con la misma entrada?
- 12. ¿Cuál es la diferencia entre iniciar un enlace de servidor a 0.0.0.0 frente a 127.0.0.1?
- 13. ¿Por qué implementar una aplicación web como FastCGI en lugar de un nuevo servidor web?
- 14. ¿Por qué GWT no funciona sin? Gwt.codesvr = 127.0.0.1: 9997
- 15. django-social-auth: ¿Cómo redirigir example.com a 127.0.0.1:8000?
- 16. ssh conexión localhost cerrada por 127.0.0.1?
- 17. Escribir un servidor web simple en Ruby
- 18. ¿Qué es el servidor web impulsado por eventos?
- 19. InetAddress.getLocalHost() siempre devuelve 127.0.0.1
- 20. DNS redirects tracker.thepiratebay.org a 127.0.0.1
- 21. Un servidor web pequeño
- 22. django-apio sin un servidor amqp (rabbitmq)
- 23. Ejecutar Java en un servidor web
- 24. Error de respuesta CGI en el servidor nginx usando fcgiwrap
- 25. PHP $ _SERVER ['REMOTE_ADDR'] muestra IPv6
- 26. ¿Por qué no puedo escuchar en 'localhost' pero puedo escuchar en '127.0.0.1'?
- 27. ¿Qué servidor web usar con la botella?
- 28. Gráficos en aplicaciones web django
- 29. ¿Por qué Django deja bloqueos en mysql?
- 30. Implementando sesiones en un servidor web java?
¿Cómo son las peticiones como desde el servidor web a la aplicación de Django? –