Обработка различных «доменов» без поддоменов

Обработка различных «доменов» без поддоменов

У меня есть сервер ("myserver"), который разрешает запросы только на порт 80 через HTTPS. Другое ограничение заключается в том, что я не могу создавать поддомены, поэтому мне приходится использовать "myserver".

Теперь у меня есть два приложения: «frontend», работающее на порту 8000, и «backend», работающее на порту 9000. В идеале я бы создал два виртуальных хоста: «frontend.myserver» и «backend.myserver», используя разные корневые каталоги документов, имена серверов и т. д., но поскольку это невозможно, я думаю, что мне придется работать с такими путями, как, например, «myserver/frontend» и «myserver/backend».

Возможно ли это сделать? Знаете ли вы, какая директива конфигурации позволит мне это сделать? Может быть, с помощью директивы alias?

решение1

Да, вы можете использовать поддомены только с одним IP-адресом. В Apache вам придется настроить свои виртуальные серверы.

Посмотрите первый пример здесь:https://httpd.apache.org/docs/2.2/vhosts/examples.html

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

  1. Прослушиватель для каждого виртуального сервера как *:80
  2. Значение DocumentRoot указывает на ваши каталоги содержимого для каждого сайта
  3. Значение ServerName для каждого URL, который вы хотите обслуживать

    <VirtualHost *:80>
    DocumentRoot /www/frontendcontent
    ServerName frontend.myserver
    </VirtualHost>
    
    <VirtualHost *:80>
    DocumentRoot /www/backendcontent
    ServerName backend.myserver
    </VirtualHost>
    

Вам также может понадобиться использовать директиву ServerAlias, если вы хотите, чтобы работало что-то вроде example.org и www.example.org. Для этого вам нужно добавить ServerAlias ​​так же, как и строку ServerName, но указать псевдоним, который вы хотите использовать для этого виртуального сервера ServerName. Вот документация по ServerAlias, но я предлагаю вам заставить вышеизложенное работать, а затем поработать над ServerAlias, если необходимо: http://httpd.apache.org/docs/2.2/mod/core.html#serveralias

Связанный контент