Назад | Перейти на главную страницу

Обрабатывать разные «домены» без поддоменов

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

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

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

Да, вы можете использовать поддомены только с одним 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