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

mod_proxy для apache / redhat не работает

У нас есть следующий сценарий:

Мы хотим настроить apache mod_proxy для назначения:


Мы безуспешно пробовали следующее:

<VirtualHost app1.example.com:80>
      ServerName app1.example.com
      ProxyPass / http://example.com:8090/access/app1/
      ProxyPassReverse / http://example.com:8090/access/app1/
</VirtualHost>

<VirtualHost app2.example.com:80>
      ServerName app2.example.com
      ProxyPass / http://example.com:8090/access/app2/
      ProxyPassReverse / http://example.com:8090/access/app2/
</VirtualHost>

Сохранено в /etc/httpd/conf.d/myconfig.conf, затем перезапустите apache sudo service http restart.

При использовании браузера и записи http://app1.example.com появится страница приветствия Apache по умолчанию, но не наша страница app1. Похоже, конфиг mod_proxy не работает.

Установка уровня ошибки на DEBUG покажет следующее событие в error_log:

[Вт, 07 августа, 14: 18: 04.748775 2018] [autoindex: error] [pid 1985] [client xxxx: 58843] AH01276: Невозможно обслужить каталог / var / www / html /: не найдено соответствие DirectoryIndex (index.html), и сгенерированный сервером индекс каталога запрещен директивой Options

Любая помощь будет оценена

Две вещи:

1) закомментируйте или очистите файл conf.d / welcome.conf (не удаляйте его, иначе он будет восстановлен при следующем патче httpd

2) httpd -S - отличный друг при рассмотрении проблем с виртуальным сервером. Это выведет, где в вашей конфигурации определены ваши виртуальные хосты (и какие из них по умолчанию)

И бонус: я вижу, что вы используете порт 8090, что заставляет меня думать, что вы, возможно, имеете дело с продуктами Atlassian. Если вы имеете дело с Confluence с компонентом совместного редактирования Synchrony, я, возможно, могу дать вам некоторую конфигурацию для материала websocket (документация Atlassian сбивает с толку, когда дело доходит до конфигурации обратного прокси)

Настройте файл виртуального хоста следующим образом

<VirtualHost *:80>
      ServerName app1.example.com
      ProxyPass /app1 http://example.com:8090/access/app1/
      ProxyPassReverse /app1 http://example.com:8090/access/app1/
</VirtualHost>

<VirtualHost *:80>
      ServerName app2.example.com
      ProxyPass /app2 http://example.com:8090/access/app2/
      ProxyPassReverse /app2 http://example.com:8090/access/app2/
</VirtualHost>