Servir archivos web estáticos desde un puerto no estándar

Servir archivos web estáticos desde un puerto no estándar

Estoy cerca de implementar unDjangoproyecto a producción. Estoy revisando algunas decisiones de infraestructura. Algo que surgió fue servir archivos estáticos con un servidor diferente, comoluztpd.

Sin embargo, estamos comenzando con un único servidor dedicado, por lo que nuestra única opción sería utilizar un puerto no estándar para el servidor web de archivos estáticos.

  1. ¿Existe precedencia para esto? Es decir, ¿alguien "grande" hace esto?

  2. ¿Algún puerto en particular que debería usar o evitar usar?

  3. ¿Alguien puede pensar en algunas desventajas de seguir este camino?

Respuesta1

Obtendrá la mayor compatibilidad con el usuario final si utiliza una dirección IP y TCP/80 diferentes a los que obtendría si utilizara la misma dirección y algo como TCP/8080. Algunos firewalls corporativos realmente restrictivos no permitirán conexiones a puertos extraños, incluso a los comunes como TCP/8008 o TCP/8080. Si eso no le preocupa, entonces vincularse a un puerto alternativo HTTP común debería ser suficiente para lo que está intentando hacer.

Respuesta2

Simplemente configuraría otro host virtual en el mismo servidor web, por lo que entregaría el contenido estático desde "static.example.com", lo que haría que este cambio fuera trivial en el futuro. Puede hacerlo a su manera, pero probablemente no verá mucho aumento de rendimiento, pero intente:

  1. Configurar el host virtual de la aplicación Django en localhost:8080
  2. configuraciónnúcleo proxytener localhost:8080 como backend
  3. configurar un host virtual static.example.com en lighttpd

¿Existe precedencia para esto? Es decir, ¿alguien "grande" hace esto?

Seguro que la gente sirve contenido estático desde un servidor diferente, he oído que YouTube es muy bueno en eso.

¿Algún puerto en particular que debería usar o evitar usar?

Evitaría usar puertos que no sean el 80, pero así soy yo... :-)

¿Alguien puede pensar en algunas desventajas de seguir este camino?

  1. complicado y con muy poca ganancia si de todos modos solo usa un servidor de aplicaciones.
  2. Todas las páginas de Django tienen que pasar por un proxy.
  3. tienes que preguntar aquí.. :-)

información relacionada