我想使用开源 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>
Kibana 正在监听端口 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"
答案1
这个问题很简单。/etc/apache2/apache2.conf
以下几行包括虚拟主机配置:
IncludeOptional sites-enabled/*.conf
但是我的虚拟主机配置没有.conf
扩展。我添加了它,它运行正常。