subdominio servidor redirigir redireccionar otro diferente configurar apache

apache - servidor - redirigir un subdominio



Cómo redirigir diferentes solicitudes de subdominio a diferentes puertos (5)

Asumiré que tiene su propia razón para querer que los dos sitios ( www y blog ) se ejecuten en diferentes puertos, y en diferentes procesos. Si esto no es lo que pretendía, por ejemplo, no quería tener dos procesos distintos, entonces tener puertos diferentes puede que tampoco sea lo que deseaba: use VirtualHost lugar, para hospedar los dos dominios dentro de la misma instancia de apache + php en puerto 80. De lo contrario, sigue leyendo.

Suponiendo que tiene sus dos procesos de apache + php escuchando en localhost: 82 y localhost: 83 respectivamente, active un tercer proceso, solo de apache, para actuar como un proxy inverso. Haga que la instancia de apache de proxy inverso escuche las solicitudes que llegan desde el puerto 80 desde Internet, con dos definiciones de host virtual. La primera definición de host virtual, www , reenviaría las solicitudes a localhost: 82, mientras que la segunda definición de host virtual, blog , reenviaría las solicitudes a locahost: 83, por ejemplo:

NameVirtualHost *:80 # www <VirtualHost *:80> ServerName www.myexample.com ProxyPass / http://localhost:82/ ProxyPassReverse / http://localhost:82/ </VirtualHost> # blog <VirtualHost *:80> ServerName blog.myexample.com ProxyPass / http://localhost:83/ ProxyPassReverse / http://localhost:83/ </VirtualHost>

Tengo dos aplicaciones, una es www.myexample.com , otra es blog.myexample.com . Estoy usando PHP y Apache.

Ahora, quiero que www.myexample.com ejecute en el puerto 82 de mi máquina y blog.myexample.com en el puerto 83, en la misma máquina. ¿Cómo configurar los scripts de apache y / o PHP para que cuando las solicitudes de las solicitudes se atienden correctamente?

Edit: gracias a todos los que responden, pero me temo que no puedo aclarar la pregunta: ¡qué mal!

Lo que realmente quiero es simular una condición por la cual www.myexample.com y blog.myexample.com se encuentran en diferentes máquinas. Entonces, cuando llega una solicitud, el servidor de la puerta de enlace (el que también aloja www.myexample.com) verificará si se trata de una solicitud para www.myexample.com o para blog.myexample.com y realiza las redirecciones necesarias.

¿Como hacer esto? Gracias.


Ejecute la siguiente línea en el terminal (especifique su nombre de dominio y subdominio correctamente)

sudo nano /etc/apache2/sites-available/subdomain.domain.com.conf

Pegue el siguiente código y cambie como su requisito

<VirtualHost *:80> ServerAdmin [email protected] ServerName subdomain.domain.com ServerAlias subdomain.domain.com ProxyRequests Off #ProxyPass / http://localhost:8080/ <Location /> ProxyPreserveHost On ProxyPass http://domain.com:8080/ ProxyPassReverse http://domain.com:8080/ </Location> # Uncomment the line below if your site uses SSL. #SSLProxyEngine On </VirtualHost>

Ejecute las siguientes líneas en el terminal (especifique su nombre de dominio y subdominio correctamente)

sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod subdomain.domain.com.conf sudo service apache2 restart


Fuera de la parte superior de mi sombrero:

Listen 82 Listen 83 NameVirtualHost 1.2.3.4 # Use your server''s IP here <VirtualHost www.myexample.com:82> # Configure www.myexample.com here </VirtualHost> <VirtualHost blog.myexample.com:83> # Configure blog.myexample.com here </VirtualHost>


Una respuesta más completa a esto sería hacer algo como esto que le permita configurar una puerta de enlace proxy, que es lo que se describe con más facilidad anteriormente.

Nombre del servidor localhost

<Proxy *> Order deny,allow Allow from localhost </Proxy> ProxyRequests Off ProxyPreserveHost On ProxyPass / http://localhost:10081/ ProxyPassReverse / http://localhost:10081/ ProxyPassReverseCookiePath / http://localhost:10081/


Yo uso proxy para este tipo de cosas.

En mi ejemplo, tengo apache 1.3 ejecutándose en el puerto 80, pero necesitaba el repositorio svn para ejecutarlo en apache 2.2, y no quería escribir: 82 al final del dominio cada vez. Así que hice la redirección de proxy en Apache 1.3 (puerto 80):

<VirtualHost *:80> ServerName svn.mydomain.com ServerAlias svn ServerAdmin [email protected] <IfModule mod_proxy.c> ProxyPass / http://svn:82/ </IfModule> </VirtualHost>