Pregunta

¿Alguien ha tenido éxito al ejecutar dos servidores web diferentes, como Apache y CherryPy, uno al lado del otro en la misma máquina?Estoy experimentando con otros servidores web en este momento y me gustaría ver si puedo hacer mis experimentos mientras mantengo mis otros sitios en funcionamiento.Se podría decir que esta no es tanto una pregunta sobre software específico sino una pregunta general sobre redes.

  • Sé que es posible ejecutar dos servidores web en puertos diferentes;pero ¿hay alguna forma de configurarlos para que puedan ejecutarse en el mismo puerto (es decir, ¿ambos se ejecutan en el puerto 80)?
  • Los servidores web no servir archivos de los mismos dominios.Por ejemplo, Apache podría servir documentos desde foo.dominio.com y el otro servidor web lo haría desde bar.dominio.com.

Sé que esta no es una configuración ideal.Sólo me gustaría ver si se puede hacer antes de salir corriendo por la madriguera del conejo.:)

¿Fue útil?

Solución

No puede tener dos procesos vinculados al mismo puerto en la misma dirección IP.Puede agregar otra dirección IP al cuadro y hacer que cada servidor escuche en una.

Otra opción es pasar un servidor por proxy a otro.Con Apache, podrías hacer algo como:

NameVirtualHost *
<virtualhost *>
  ServerName other.site.com

  # assumes CherryPy listens on port 8080
  ProxyPass / http://127.0.0.1:8080/
  ProxyPassReverse / http://127.0.0.1:8080/
</Virtualhost>

Este es un ejemplo bastante rápido, pero siempre puedes verificar el Documentación de ProxyPass.Sin embargo, recuerde que la aplicación a la que se realiza el proxy obtendrá 127.0.0.1 en sus registros en lugar de la dirección IP del solicitante.Algunos servidores web (apache lo hace con mod_rpaf) puede sustituir el encabezado X-Forwarded-For en lugar de la dirección IP incorrecta.¿Posiblemente CherryPy tenga esto?

Otros consejos

Su mejor opción sería colocar Apache httpd delante del puerto 80 y retransmitir solicitudes destinadas a otros servidores a través de Apache mediante el uso de módulos.El escenario más popular sería Tomcat detrás de Apache, donde podrá ejecutar aplicaciones php y jsp.

No estoy familiarizado con CherryPy, por lo que sólo puedo sugerirle que busque un módulo Apache para CherryPy.

Editar:Esto parece prometedor: http://tools.cherrypy.org/wiki/BehindApache

Alternativamente, a la respuesta correcta de Ishmaeel, si tiene un servidor con 2 tarjetas de red, puede hacer que cada servidor responda solicitudes en diferentes direcciones IP.

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