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

Обратный прокси-сервер Apache на localhost не работает

Я хочу использовать стек ELK с открытым исходным кодом. В бесплатной версии Kibana вообще нет защиты. Моя идея заключается в том, что я поставил Kibana за обратным прокси-сервером Apache с использованием базовой аутентификации Apache, но почему-то обратный прокси-сервер не работает.

У меня включен только один сайт со следующим содержанием:

<VirtualHost *:80>
    ServerName          kibana2.softxs.ch
    ProxyPreserveHost   On
    ProxyRequests       Off
    ProxyPass           / http://127.0.0.1:5601/ retry=0
    ProxyPassReverse    / http://127.0.0.1/
</VirtualHost>

Кибана прослушивает порт 5601:

$ netstat -lnp | grep 5601
tcp        0      0 127.0.0.1:5601          0.0.0.0:*               LISTEN      16465/node

Apache прослушивает порт 80:

netstat -lnp | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      21721/apache2

Однако если я использую http://kibana2.softxs.ch, Я получаю стандартную страницу Apache2 Ubuntu. Я не понимаю, потому что другого файла в site_enabled. В журнале apache нет сообщения об ошибке.

apachectl -S говорит:

VirtualHost configuration:                                                                          
ServerRoot: "/etc/apache2"                                                                          
Main DocumentRoot: "/var/www/html"                                                                  
Main ErrorLog: "/var/log/apache2/error.log"                                                         
Mutex ssl-stapling: using_defaults                                                                  
Mutex proxy: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl 
Mutex watchdog-callback: using_defaults
Mutex ssl-stapling-refresh: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

"/ var / www / html" мог появиться только во время компиляции apache. Он нигде не определен, лучше сказать только в неактивном виртуальном хосте:

/etc/apache2# grep -r '/var/www/html'
sites-available/000-default.conf:       DocumentRoot /var/www/html
sites-available/default-ssl.conf:               DocumentRoot /var/www/html

Я вижу только простые записи в other_vhosts_access.log даже если LogLevel debug proxy:trace5 добавлен в конфиг VirtualHost:

zg-3.softxs.ch:80 188.143.71.45 - - [03/May/2019:17:26:31 +0200] "GET / HTTP/1.1" 200 3525 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"
zg-3.softxs.ch:80 188.143.71.45 - - [03/May/2019:17:26:31 +0200] "GET /icons/ubuntu-logo.png HTTP/1.1" 304 180 "http://kibana2.softxs.ch/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"

Проблема была довольно тривиальной. В /etc/apache2/apache2.conf следующие строки включают конфигурацию виртуального хоста:

IncludeOptional sites-enabled/*.conf

Но в моей конфигурации виртуального хоста нет .conf расширение. Я добавил, и он отлично работает.