Как я могу Передать субдомен определенному порту?

У меня нет хорошего способа протестировать это прямо сейчас, но...

Я полагаю, что можно использовать iptables переводить каждый порт в единственный порт. Это было бы что-то как следующее:

iptables -t nat -I PREROUTING -m multiport -sports 0:65535 -J DNAT --to-destination 127.0.0.1:1024

Это должно перенаправить все входящие порты к 1 024. Можно затем запустить сервер на 1 024.

3
26.11.2018, 02:34
2 ответа

Это не может быть сделано ничем. То, когда удаленный компьютер открывает соединение TCP, все, что он говорит Вам, является IP-адресом и номером порта, с которым он хочет соединиться. Это не говорит Вам, какое имя хоста это искало в DNS для получения того IP-адреса. (Основанный на имени виртуальный хостинг использует Host: заголовок, который это отправляется как часть протокола HTTP, но это после соединения, открыт.)

Но если Вы получаете доступ к другому сервису, удаленный компьютер должен просить соединяться с другим номером порта, и необходимо смочь направить на основе этого.

Если все эти программы говорят HTTP, то необходимо смочь иметь основные запросы прокси веб-сервера к соответствующему серверу на основе Host: заголовок.

3
27.01.2020, 21:20
  • 1
    я изучу это, затем. Совет относительно того, как сделать это с апачем? Это включило бы использование VirtualBoxes, я принимаю –  Jarwain 18.02.2012, 01:27

Я знаю, что это старый вопрос, но, возможно, есть решение: Я нашел конфигурацию vhost @ work: Попробуйте это в конфигурации virtualhost: ( Я не на 100% уверен, что это сработает! :) )

Кто-нибудь может это подтвердить?

<VirtualHost *:80>
    ServerName sub.domain.com
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyRequests           Off
    ProxyPass               /       http://sub.domain.com:12345/
    ProxyPassReverse        /       http://sub.domain.com:12345/

   #... etc
1
27.01.2020, 21:20

Теги

Похожие вопросы