Tengo una aplicación django ejecutándose en http://localhost:12345. Me gustaría que el usuario acceda a través de la url http://my.server.com/myapp. Yo uso nginx a proxy inverso a ella como la siguiente:cómo implementar django debajo de un suburbal detrás de nginx
... ...
server_name my.server.com;
location /myapp {
rewrite /myapp(.*) $1 break;
... ... # proxy param
proxy_pass http://localhost:12345;
}
... ...
La pregunta es, cuando se configura como el de arriba, cómo hacer que las direcciones URL en mis páginas de respuesta para tener el prefijo "/ miaplicacion" para que el nginx puede dirigirlos correctamente a myapp. Por ejemplo, las direcciones URL en una página como "/ foo/far" deben cambiarse a "/ myapp/foo/bar" para permitir el proxy nginx a myapp. ¿cuál es la configuración correcta de nginx para usar para lograr esto?
Puedo usar las variables de configuración de django para especificar el prefijo url raíz, pero no es flexible para mi mente, ya que la variable debe modificarse según la configuración diferente de nginx (digamos que un día nginx puede cambiar el suburbano de "/ myapp "a"/anotherapp ").
Gracias, Parece que tengo que ir con el truco de WSGIScriptAlias –
Gracias a GOODNESS por esta publicación. El truco "proxy_set_header" me salvó de una pesadilla de búsqueda de Google. Debería haberlo sabido mejor. Gracias –