2012-10-03 26 views
15

Tengo un NAS/Servidor que se ejecuta en casa las 24 horas, los 7 días de la semana, y ejecuto muchos servicios diferentes en él. Tengo un nombre de dominio que lo señala ahora, y me preguntaba si sería posible crear subdominios que apuntan a diferentes puertos para diferentes servicios. Por ejemplo:¿Cómo reenviar un subdominio a un nuevo puerto en la misma dirección IP utilizando Apache?

Tengo un solo enrutador D-LINK que actualmente transfiere todos estos puertos a mi NAS/Servidor cuya IP es 192.168.0.104.

EDITAR: El servidor ejecuta Ubuntu 12.04.

¿Qué servicio o proxy necesito para ejecutar que pueda reconocer el subdominio y enrutar el tráfico en consecuencia? ¿O podría usar hosts virtuales de Apache para manejar esto, porque estos subdominios entrarán en el puerto 80, que apache está escuchando? ¿O los servidores virtuales no funcionan así?

Cualquier información, idea o consejo sería útil/útil.

+1

Creo que esto es una pregunta válida, y se han notificado a la intervención del moderador. Debería ser reabierto. – abalter

Respuesta

22

Hay dos formas de hacerlo. Puede usar la sección VirtualHost de su httpd.conf o puede hacerlo en su .htaccess. (Suponiendo que los subdominios se resuelven a la misma IP como su servidor web)

En httpd.conf:

<VirtualHost *:80> 
    ServerName subsonic.mydomain.com 
    redirect/http://mydomain.com:4040/ 
</VirtualHost> 

En .htaccess:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^subsonic\.mydomain\.com$ [NC] 
RewriteRule ^(.*)$ http://mydomain.com:4040/$1 [R=301] 

Documentación:
- Guide to creating name-based virtual hosts
- Core, incluyendo VirtualHost y NameVirtualHost
- Redirect
- mod_rewrite guide

+0

¿En realidad está redireccionando (debido a R = 301 que parece ser el código de estado de Move Moventemente http)? ¿O está mostrando los contenidos del sitio? En mi caso, quería lograr el segundo escenario. – AmazingTurtle

Cuestiones relacionadas