当 marvel 块已经存在于配置中时,如何为 kibana4 配置 Nginx 服务器块

How to configure Nginx server block for kibana4 , when marvel block is already present in the configs

我有一台装有 ElasticSearch 的 Ubuntu 服务器机器,我在同一台机器上配置了 marvel。我使用 Nginx 作为反向代理从浏览器访问 marvel 仪表板,比如 chrome。在“/etc/nginx/sites-available/default”

中使用以下配置可以正常工作
upstream kibana {
    server 127.0.0.1:5601;
}

server {
    listen 80;


    location / {
        proxy_pass http://localhost:9200;
        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;
    }

    location /kibana/ {
    proxy_http_version     1.1;
    proxy_ignore_headers   Cache-Control;
    proxy_pass             http://kibana/;
    proxy_read_timeout     90;
    proxy_redirect         off;
    proxy_set_header       Authorization '';
    proxy_set_header       Connection "";
    proxy_set_header       Host $http_host;
    proxy_set_header       X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header       X-Forwarded-Proto $scheme;
}

}

以上配置让我可以通过在外部世界的 GUI 浏览器上点击 'public_ip:9200/_plugin/marvel/' 来完美访问 marvel 仪表板。

现在我已经在同一台机器上安装了 kibana4,需要使用 public ip 通过另一个浏览器访问 kibanaDashboard,我添加了 kibana 块,发现我可以在本地访问 kibana 网页,但是无法从外面做同样的事情, 即 http://public_ip_of_server/kibana/

我仍然无法从外面到达 kibana

试试这个 - Kibana 在这种情况下是通过 http(s)://server/kibana/ 访问的:

HTTP 部分

upstream kibana {
    server 127.0.0.1:5601;
}

服务器部分

location /kibana/ {
    proxy_http_version     1.1;
    proxy_ignore_headers   Cache-Control;
    proxy_pass             http://kibana/;
    proxy_read_timeout     90;
    proxy_redirect         off;
    proxy_set_header       Authorization '';
    proxy_set_header       Connection "";
    proxy_set_header       Host $http_host;
    proxy_set_header       X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header       X-Forwarded-Proto $scheme;
}

您的默认设置是正确的..您现在可以直接访问 kibana 页面:http://publicip:5601