У меня есть сервер ("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
Обратите внимание, что вы настраиваете каждый виртуальный сервер для каждого сайта, который хотите обслуживать. Убедитесь, что вы настроили каждое из следующих:
- Прослушиватель для каждого виртуального сервера как *:80
- Значение DocumentRoot указывает на ваши каталоги содержимого для каждого сайта
Значение 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