Я уверен, что не могу быть первым, кто спросит об этом, но я не смог найти ничего, что полностью применимо к моему сценарию. Поэтому приношу свои извинения заранее, если об этом уже спрашивали.
У меня есть VPS, который я только что настроил с помощью debian 8. У него один IP. И я купил домен.
На этом сервере у меня работает много разных сервисов. Например GitLab и Apache.
И Apache, и GitLab работают на 80-м порту.
Есть ли шанс сделать Apache доступным через apache.mydomain.com:80
и GitLab через gitlab.mydomain.com:80
?
Я знаю, что могу заставить GitLab использовать другой порт, но я действительно хочу, чтобы он был доступен через gitlab.mydomain.com
прямо. И это то, что меня волнует, потому что я могу открывать порты только в своем брандмауэре, я не могу назначить их субдомену или около того.
Во время поиска я также узнал о Virtual hosts
, но, похоже, это характерно для Apache. Я также узнал о SVC Records
, но люди говорят, что браузеры на самом деле еще не поддерживают это ... что, очевидно, противоречит цели.
Я бы установил apache на порт 80 и добавил VirtualHost для gitlab.mydomain.com .
Затем настройте этот VirtualHost с помощью mod_proxy на http://127.0.0.1:8080 .
Наконец, настройте gitlab для прослушивания 127.0.0.1.
Нашел для вас пример на GitHub: https://gist.github.com/radmen/3689615
Если вам нужно запустить и Apache, и OpenVPN на одном и том же порту 443, взгляните на sslh - мультиплексор прикладного протокола.
В LinuxJournal есть две статьи об этом: одна короткая редакционная (http://www.linuxjournal.com/content/one-port-rule-them-all), а другой объясняет, как настроить Raspberry-Pi в качестве безопасной точки приземления (http://www.linuxjournal.com/content/securi-pi-using-raspberry-pi-secure-landing-point). Есть объяснение, как настроить SSLH на стр. 4 второй статьи.
Однако, если вы не собираетесь поддерживать https на каком-либо из виртуальных хостов, работающих на этом сервере, вы можете отключить его в конфигурации Apache и настроить OpenVPN на использование порта 443.