Los documentos django a los que ha vinculado no sugieren que use apache como proxy inverso. Simplemente sugieren que use un servidor web separado, por lo que diría que los documentos no son claros sobre ese tema: no están sugiriendo nada incorrecto.
Mi respuesta inicial fue asumir que tenías nginx como un proxy inverso porque el puerto 80 es el puerto HTTP, el que se usa cuando un navegador intenta ir a una url sin puerto especificado.
Existen numerosas guías completas a la creación de nginx + Apache a través de una rápida búsqueda en Google, pero aquí es lo esencial para la creación de nginx:
location/{
# proxy/requests to apache running django on port 8081
proxy_pass http://127.0.0.1:8081/;
proxy_redirect off;
}
location /media/ {
# serve static media directly from nginx
root /srv/anuva_project/www/;
expires 30d;
break;
}
Todo lo que necesita hacer es quitar las líneas de proxy de su Apache configuración y agregue las declaraciones de proxy a su nginx.conf en su lugar.
Si realmente desea servir su sitio desde el puerto 8081, podría hacer que nginx escuche en el puerto 8081 y haga que apache escuche en un puerto diferente.
El punto es que apache se encuentra en algún puerto oscuro, solo atiende solicitudes enviadas desde nginx, mientras que la aplicación de archivos estáticos es manejada por nginx.
Es seguro seguir con Nginx en el puerto 80. ¿Te importa compartir dónde has encontrado a personas que dicen que apache es un mejor proxy inverso? Los puntos de referencia son clave. –
Mientras estaba configurando mi aplicación, publiqué preguntas en http://stackoverflow.com/questions/4868213/apache-reverseproxy-not-working-noob/4870186 y sf http://serverfault.com/questions/229842/apache-reverseproxy-to-nginx. Y obtuve una respuesta similar en ambas páginas. – Neo