2012-10-03 8 views
15

Ho un NAS/Server in esecuzione a casa 24 ore su 24 e 7 giorni su 7 e ho eseguito molti servizi diversi su di esso. Ora ho un nome di dominio che punta ad esso e mi chiedevo se fosse possibile creare sottodomini che puntano a porte diverse per servizi diversi. Per esempio:Come inoltrare un sottodominio a una nuova porta sullo stesso indirizzo IP usando Apache?

Ho un singolo router D-LINK che attualmente porta in avanti tutte queste porte al mio NAS/Server il cui IP è 192.168.0.104.

MODIFICA: il server esegue Ubuntu 12.04.

Quale servizio o proxy è necessario eseguire per riconoscere il sottodominio e instradare il traffico di conseguenza? O potrei usare gli host virtuali di apache per gestirli, perché questi sottodomini entreranno nella porta 80, che apache sta ascoltando? O gli host virtuali non funzionano così?

Qualsiasi informazione, idea o suggerimento sarebbe utile/utile.

+1

Credo che questa sia una domanda valida, ed hanno contrassegnato per un intervento moderatore. Dovrebbe essere riaperto. – abalter

risposta

22

Ci sono due modi per farlo. Potresti utilizzare la sezione VirtualHost del tuo httpd.conf o potresti farlo nel tuo .htaccess. (Supponendo che i sottodomini risolvere allo stesso IP come il vostro server web)

In httpd.conf:

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

In .htaccess:

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

Documentazione:
- Guide to creating name-based virtual hosts
- Core, tra cui VirtualHost e NameVirtualHost
- Redirect
- mod_rewrite guide

+0

In realtà sta reindirizzando (a causa di R = 301 che sembra essere il codice di stato HTTP Move Permantently)? O sta visualizzando i contenuti del sito? Nel mio caso volevo raggiungere il secondo scenario. – AmazingTurtle

Problemi correlati