Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

405
Views
Django + Elastic Beanstalk, 500 códigos de respuesta en access_log pero nada en error_log

Tengo una configuración de aplicación en Elastic Beanstalk (con un balanceador de carga de escala automática) usando Django. La configuración también usa apache httpd y mod_wsgi.

La aplicación funciona correctamente, pero veo un error ocasional que por mi vida no puedo depurar. Esto se debe a que el error en sí mismo no aparece en error_log en ningún momento.

Una muestra del registro de acceso (se omiten las direcciones IP):

 [15/Apr/2020:01:13:21 +0000] "GET /reroute/agument/ HTTP/1.1" 500 27 "-" "" [15/Apr/2020:01:13:22 +0000] "GET /reroute/argument/ HTTP/1.1" 302 - "https://www.bing.com/" "Mozilla/5.0 (Linux; Android 4.4.3; KFSOWI) AppleWebKit/537.36 (KHTML, like Gecko) Silk/80.5.3 like Chrome/80.0.3987.162 Safari/537.36"

La solicitud superior muestra una solicitud de error, la inferior una solicitud típica. Lo principal que noto aquí es la ausencia de un agente de usuario en la solicitud 500. Al revisar el access_log, a cada solicitud de este tipo le falta el agente de usuario. No tengo una configuración de funcionalidad específica para disuadir a los bots/arañas o similares.

Estos 500 errores ocurren aleatoriamente y lo han estado haciendo durante los últimos meses. No ha habido informes de que esto ocurra con el usuario final, lo que me lleva a pensar en dos posibilidades:

  1. Alguien está utilizando un host incorrecto no especificado en la configuración ALLOWED_HOSTS de Django.
  2. De alguna manera, un bot/spider está siendo rechazado.

Realmente quiero identificar y detener estas solicitudes erróneas, ya que afecta el informe de errores de la aplicación en sí. ¿Cuál sería la mejor manera de identificar el problema aquí?

La única funcionalidad que he agregado a mi entorno beanstalk (a través de .ebextensions) es:

  • Redirigir solicitudes Http a Https
  • Algunos comandos de Django para ejecutar en el inicio
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Bien, entonces soy tonto.

Las razones por las que estos mensajes de error no aparecían en mis registros era simplemente que no tenían un medio para mostrarse en los registros.

La configuración de un diccionario de registro simple en Django settings.py de repente comenzó a mostrar los rastros de pila de los 500 errores cuando sucedieron. A partir de ahí, pude ver que era una simple excepción no controlada:

 LOGGING = { "version": 1, "disable_existing_loggers": False, "handlers": { "console": { "class": "logging.StreamHandler", }, }, "loggers": { "django": {"handlers": ["console"], "level": "INFO"}, },

}

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!