Рейтинг:0

Apache VirtualHosts не работает/перенаправляется? (обратный прокси)

флаг mg

Я пытаюсь настроить Apache в качестве обратного прокси-сервера на новой виртуальной машине Ubuntu 22.04.У нас есть обратный прокси-сервер Apache в Ubuntu 18.04, где все работает как положено. Этот новый обратный прокси-сервер должен заменить наш старый, но виртуальные хосты, похоже, работают неправильно.

Я сделал следующее:

apt-получить обновление
apt-получить обновление
apt-получить установить apache2
прокси a2enmod
a2enmod proxy_http
a2enmod proxy_balancer
a2enmod lbmethod_byrequests

Я отключил страницу по умолчанию в Sites-enabled.

a2dissite 000-default.conf

Затем я создал новый виртуальный хост и включил его.

vi 001-trupage.azmedien.ch.conf
a2ensite 001-trupage.azmedien.ch.conf

Это выглядит так:

<VirtualHost trupage.azmedien.ch:80>
    ServerName trupage.azmedien.ch
    ProxyPreserveHost On
    ProxyPass / http://10.200.0.130/
    ProxyPassReverse / http://10.200.0.130/
</VirtualHost>

Затем я перезапустил и перезагрузил Apache.

systemctl перезапустить apache2
systemctl перезагрузить apache2

Я создал запись в файле хоста на своем ПК с Windows, чтобы проверить, работает ли эта самая базовая конфигурация, она указывает на мой сервер Apache.

Когда я затем пытаюсь получить доступ к trupage.azmedien.ch, это приводит меня к веб-сайту Apache по умолчанию вместо фактического перенаправления меня на правильный сервер (который определяется с помощью ProxyPass в виртуальном хосте).

Кажется, он по какой-то причине не распознает виртуальный хост? Когда я заменяю «trupage.azmedien.ch:80» на «*:80», а затем открываю его в своем браузере, ProxyPass работает. Но, очевидно, это не то, что я хочу, так как будет несколько виртуальных хостов.

<VirtualHost *:80>
    ServerName trupage.azmedien.ch
    ProxyPreserveHost On
    ProxyPass / http://10.200.0.130/
    ProxyPassReverse / http://10.200.0.130/
</VirtualHost>

Вот вывод из apache2ctl -S, 213.146.11.131 — это IP-адрес старого обратного прокси-сервера, но я понятия не имею, откуда он берется и почему он появляется здесь:

root@azprox10:~# apache2ctl -S
AH00558: apache2: Не удалось надежно определить полное доменное имя сервера в имени, используя 127.0.1.1. Установите директиву 'ServerName' глобально, чтобы подавить это сообщение.
Конфигурация виртуального хоста:
213.146.11.131:80 — это NameVirtualHost
         локальный хост сервера по умолчанию (/etc/apache2/sites-enabled/001-trupage.azmedi                                                                                                                               
         en.ch.conf:1)
         порт 80 namevhost localhost (/etc/apache2/sites-enabled/001-trupage.azm                                                                                                                               
         edien.ch.conf:1)
         порт 80 namevhost opvsg.chmedia.ch (/etc/apache2/sites-enabled/002-opvs                                                                                                                               
         g.chmedia.ch.conf:1)
Корневой сервер: "/etc/apache2"
Основной корневой документ: "/var/www/html"
Основной журнал ошибок: "/var/log/apache2/error.log"
Карта перезаписи мьютекса: using_defaults
Прокси-сервер Mutex: using_defaults
Мьютекс по умолчанию: dir="/var/lock/apache2" механизм=fcntl
Обратный вызов сторожевого таймера Mutex: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Определить: DUMP_VHOSTS
Определить: DUMP_RUN_CFG
Пользователь: name="www-data" id=33
Группа: name="www-data" id=33
Рейтинг:0
флаг in

Вам не нужно имя DNS в <VirtualHost> линия. <VirtualHost *:80> в порядке, вы можете иметь несколько из них, актуальным является Имя сервера директива.

Запись в <VirtualHost> строка только определяет, на каком интерфейсе Apache должен слушать. Если вы введете здесь имя хоста, Apache попытается преобразовать его в IP-адрес, чтобы найти правильный интерфейс.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.