Pregunta

Tengo una instalación de Django y me gustaría ejecutar múltiples variaciones del mismo sitio:Mismos datos, diferente contenido estático, con el objetivo final de demostrar XYZ implementado con varios marcos de JavaScript.Me gustaría que se cargaran diferentes páginas de inicio, y que éstas extrajeran su propio contenido estático distintivo.(Todos los proyectos previstos son SPA).

Probé la solución en ¿Cómo puedo obtener el nombre de dominio de mi sitio dentro de una plantilla de Django?, pero en mi sistema el sitio actual no proporciona un nombre de host de 'pragmatometer.com';proporciona un nombre de host de 'localhost:8000', porque Django/Gunicorn ofrece páginas como localhost.Intenté especificar en /etc/hosts que pragmatometer.com es 127.0.0.1 y tener un proxy Apache para pragmatometer.com, pero resultó en un error.Eso deja abierta la posibilidad de ejecutar hosts separados en diferentes puertos, que deberían ser proxy como distintos, o hacer que la página de inicio redirija a una página de destino específica de URL, una solución que sacrificaría la URL limpia de xyz.pragmatometer.com para demostrar la Implementación del marco XYZ.Veo múltiples formas de pegarlo con cinta adhesiva con JavaScript, de las cuales solo me gustaría que un futuro jefe viera una o dos...

Idealmente, me gustaría tener varias URL raíz de (sub)dominios que obtengan una página de inicio específica del subdominio y la /load/*, /save/* etc.consistente entre ellos.También me gustaría que las URL raíz obtengan su propio CSS y JavaScript, pero eso es bastante fácil si puedo hacer que la URL raíz funcione correctamente.

La mejor solución que estoy viendo hasta ahora es tener procesos de servidor separados escuchando en la misma IP, pero tener servidores isomórficos ejecutándose en diferentes puertos y proxy por diferentes Apache VirtualHosts.O eso o hacer que JavaScript detecte la URL y sobrescriba la página con el índice "real" del dominio, que huele un poco.

¿Comentarios sobre una mejor solución o cómo ejecutar bien la intención anterior?

--EDITAR--

U otro enfoque que podría ser un poco más limpio:

Tener una imagen de inicio que cargue el contenido de /framework/ para cada marco, y luego document.write()s después la página está lo suficientemente cargada como para que un document.write() golpee el contenido de la página existente.

Si usara jQuery para golpear y cargar una página de esta manera, ¿dejaría alguna contaminación que pudiera interferir con el funcionamiento adecuado de los marcos?

¿Fue útil?

Solución

Tu pila se ve un poco loca.

Usted desea uno servidor web con Django a la que se puede acceder a los dominios múltiple . Cada dominio hace que la aplicación Django atienda el contenido diferente. ¿Te entendí correctamente?

En caso afirmativo, tal vez tenga éxito al reemplazar a Apache by Nginx. Puede resolver el nombre de host solicitante y decidir cómo redirigir la solicitud:

¿Cuál es la diferencia de $ host y $ http_host en nginx

Hosting de dominio múltiple con un proyecto DJANGO

Actualización

Documentación relevante de NGINX para distinguir entre diferentes nombres de host: http://nginx.org/en/docs/http/request_processing.html http://nginx.org/en/docs/http/ngx_http_core_module.html# servidor_name

Documentación relevante de NGINX para agregar encabezados de solicitud: http://nginx.org/en/docs/http/ngx_http_headers_module.html# add_header

También vea esta respuesta: Agregar y usar el encabezado (http) en nginx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top