node apache node.js mod-proxy

Apache+Node.js+mod_proxy. Cómo enrutar un dominio a: 3000 y otro a: 80



apache reverse proxy node js (1)

Solo haga dos etiquetas <VirtualHost *:80>

<VirtualHost *:80> ServerAdmin [email protected] ServerName www.node-example.com ProxyRequests off <Proxy *> Order deny,allow Allow from all </Proxy> <Location /> ProxyPass http://localhost:3000/ ProxyPassReverse http://localhost:3000/ </Location> </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] ServerName node-example.com ProxyRequests off <Proxy *> Order deny,allow Allow from all </Proxy> <Location /> ProxyPass http://localhost:80/ ProxyPassReverse http://localhost:80/ </Location> </VirtualHost>

Debería funcionar de esa manera;)

O si su aplicación localhost:80 no es un nodo, puede eliminar las etiquetas <Proxy *> y <Location /> para ese objetivo y reemplazarlo por DocumentRoot /var/www/node-example.com - su ruta estática a index.html

Problema: necesito alojar una aplicación de nodo y una aplicación de php en el mismo servidor en diferentes dominios.

example.com debe usar el puerto 80 como de costumbre, pero node-example.com debe enrutar al puerto 3000.

Enrutar TODO el tráfico desde el puerto 80 a 3000 funciona bien usando mod_proxy, así:

<VirtualHost *:80> ServerAdmin [email protected] ServerName node-example.com ServerAlias www.node-example.com ProxyRequests off <Proxy *> Order deny,allow Allow from all </Proxy> <Location /> ProxyPass http://localhost:3000/ ProxyPassReverse http://localhost:3000/ </Location> </VirtualHost>

Sin embargo, esto hace que tanto example.com como node-example.com apunten a localhost: 3000 y ejecuten la aplicación Node.

¿Hay alguna forma de que example.com señale el puerto 80?

También estaría bien que example.com/adminadmin apuntara al puerto 80.