У меня есть 3 разных приложения, развернутых на одном сервере. Каждый на разных портах
- Одно приложение java API, работающее на порту 8080. каталог (/дом/апи/)
- Второе веб-приложение nextjs, работающее на порту 3000. каталог (/дом/веб)
- Третье приложение панели администратора vuejs на порту 80 по умолчанию, развернутое внутри подкаталога (/var/www/html/админ)
Это файл конфигурации apache test.conf
Имя сервера www.test.com
Веб-мастер администратора сервера@localhost
Корень документа /var/www/html
Журнал ошибок ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log вместе
# Настраиваем обратный прокси для всех серверов
ProxyPreserveHost включен
ProxyPass/admin http://localhost/admin
ProxyPassReverse/admin http://localhost/admin
ProxyPass /api http://localhost:8080/api
ProxyPassReverse /api http://localhost/api
Проксипасс / http://localhost:3000/
ProxyPassReverse/http://localhost/
API работает нормально на http://test.com/api URL.
Сайт также работает нормально на http://test.com URL.
Проблема возникает, когда я получаю доступ http://test.com/admin URL.
Он показывает следующую ошибку в браузере: -
Ваш браузер отправил запрос, который этот сервер не смог понять. Размер поля заголовка запроса превышает ограничение сервера.
с кодом состояния 400 Bad request и если я удалю администратор панель с обратного прокси-сервера и создайте еще один файл vhost с простой конфигурацией, как показано ниже:
Это еще один файл конфигурации apache vhost test-admin.conf
Имя сервера www.test.com
Веб-мастер администратора сервера@localhost
Корень документа /var/www/html/
# Информация об уровне журнала ssl: предупреждение
Журнал ошибок ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log вместе
<Каталог /var/www/html/admin>
Индексы опционов FollowSymLinks
Разрешить переопределить все
Требовать все предоставленные
Порядок разрешить, запретить
Разрешить от всех
</Каталог>
то другой URL-адрес перестает работать, показывая 404 Не Найдено ошибка.
Запись:- www.test.com просто для представления фактического доменного имени или IP.