Я пытаюсь настроить 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