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

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

http://subsonic.mydomain.com --> XXX.XXX.XXX.XXX:4040 http://minecraft.mydomain.com --> XXX.XXX.XXX.XXX:25565 http://files.mydomain.com --> XXX.XXX.XXX.XXX:4082

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

РЕДАКТИРОВАТЬ: сервер работает под управлением Ubuntu 12.04.

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

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

 abalter12 февр. 2018 г., 01:59
Я считаю, что это правильный вопрос, и пометил его для вмешательства модератора. Это должно быть вновь открыто.

Ответы на вопрос(1)

Решение Вопроса

t вашего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/$1 [R=301]

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

 07 авг. 2016 г., 20:30
Это на самом деле перенаправление (из-за R = 301, который, кажется, код статуса HTTP «Постоянное перемещение»)? Или это отображение содержимого сайта? В моем случае я хотел добиться второго сценария.

Ваш ответ на вопрос