Как разместить несколько виртуальных хостов с одного IP-адреса на сервере Apache через AWS? - PullRequest
0 голосов
/ 19 апреля 2020

Я хочу разместить две разные angular панели поверх Apache (AWS). Поэтому я отключил файл 000-default.conf по умолчанию в etc/apache2/sites-available, используя a2dissite 000-default.conf, и сделал два файла webAdmin.conf и webUIpanel.conf. Теперь мой webAdmin.conf имеет следующую конфигурацию

<VirtualHost *:80>
   ServerAdmin webmaster@localhost
   DocumentRoot /var/www/html/AngularProjects/getItHomeNow_UI/dist

   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

, а webUIpanel.conf имеет следующее

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/AngularProjects/getItHomeNow_UserPanel/dist

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Затем я использовал a2ensite, чтобы включить оба файла конфигурации и, наконец, sudo systemctl restart apache2 , Но один из них работает одновременно. Мне нужно отключить один, чтобы заставить другие работать. Пожалуйста, подскажите, где я go ошибся?

1 Ответ

0 голосов
/ 19 апреля 2020

Вы должны добавить ServerName в конфигурацию VirtualHost, чтобы Apache мог решить, какой сайт должен получить запрос. Таким образом, чтобы применить это к вашей конфигурации, она должна выглядеть следующим образом:

webAdmin.conf

<VirtualHost *:80>
   ServerAdmin webmaster@localhost
   DocumentRoot /var/www/html/AngularProjects/getItHomeNow_UI/dist
   ServerName www.example1.com

   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

, а webUIpanel.conf имеет следующее

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/AngularProjects/getItHomeNow_UserPanel/dist
    ServerName www.example2.com

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ПРИМЕЧАНИЕ: Оба ServerName должны быть действительными доменами, чтобы они разрешались на вашем сервере или использовали ваш файл /etc/hosts, чтобы указать им IP вашего сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...