Как перенаправить субдомен на новый порт на том же IP-адресе с помощью Apache? [закрытый]

У меня есть NAS / сервер, работающий дома 24/7 и запускающий на нем множество различных служб. У меня есть доменное имя, указывающее на него сейчас, и было интересно, можно ли создать поддомены, которые указывают на разные порты для разных служб. Например:

У меня есть один маршрутизатор D-LINK, который в настоящее время перенаправляет все эти порты на мой NAS/сервер, чей IP-адрес 192.168.0.104.

EDIT: на сервере работает Ubuntu 12.04.

какую службу или прокси мне нужно запустить, чтобы распознать поддомен и соответствующим образом маршрутизировать трафик? Или я могу использовать виртуальные хосты apache для обработки этого, потому что эти поддомены будут поступать на порт 80, который слушает apache? Или виртуальные хосты не работают так?

любая информация, идеи или советы были бы полезны/полезны.

1 ответов


есть два способа сделать это. Вы можете использовать раздел VirtualHost вашего httpd.conf или вы можете сделать это в своем .htaccess. (предполагая, что поддомены разрешаются на тот же IP-адрес, что и ваш веб-сервер)

на httpd.conf:

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

на .htaccess:

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

документы:
- руководство по созданию виртуальных хостов на основе имен
- базовый, включая VirtualHost и NameVirtualHost
- редирект
- руководство и mod_rewrite