首页 > 解决方案 > 无法在 Localhost 中为 Kibana 设置 Nginx 反向代理

问题描述

我想设置一个反向代理来使用用户名和密码访问 kibana,所以我按照本教程进行操作。

当我使用 URL http://elastic.local访问 kibana 时,会发生超时并且什么也没有发生。但是当我使用 127.0.0.1:80 时,它会在不提示任何凭据的情况下访问 kibana。我想使用例如http://elastic.local访问 kibana但无法使其工作,我已经搜索了很多解决方案和许多 Nginx 配置文件,但它们似乎都不起作用。

这是我名为“默认”的配置文件,位于 etc/nginx/site-available 和符号链接已创建并位于 etc/nginx/site-enabled 下:

server {
    listen 80;

    server_name elastic.local;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.users;

    location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;        
    }
}

PS:我的 Ubuntu vm 中已经有 ELK 堆栈,它工作正常,我可以使用 http://127.0.0.1:5601访问 kibana

标签: nginxkibanareverse-proxynginx-reverse-proxy

解决方案


我设法解决了我所做的问题:

在 etc/hosts 中添加 elastic.local 和 127.0.0.1 之间的映射,如下所示:

127.0.0.1   elastic.local

然后使用以下命令重新启动 nginx 服务器:

sudo systemctl reload nginx.service

推荐阅读