centOS 7 上 kibana 的 Nginx 无限重定向

Nginx infinte redirection for kibana on centOS 7

我没有反向代理的经验,更不用说 nginx 了,我正在苦苦挣扎。

版本:

当我转到 elk.mydomain.com/kibana 时,我会在一个循环中被重定向,直到 Firefox 在长时间 link 之后停止我,如下所示:

http://elk.mydomain.com/kibana/login?next=%2Fkibana%2Fkibana%2Flogin%3Fnext%3D%252Fkibana%252Fkibana%252Flogin%253Fnext%253D%25252Fkibana%25252Fkibana%25252Flogin%25253Fnext%25253D%2525252Fkibana%2525252Fkibana%2525252Flogin%2525253Fnext%2525253D%252525252Fkibana........

我基本上一直在尝试对每一件小事进行小的调整,但运气不佳。

cat /etc/nginx/conf.d/kibana.conf:

server {
listen 80;
server_name elk.mydomain.com;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;
location /kibana/ {
  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;
}
}

netstat -ntlpu | grep 5601:

tcp .... 127.0.0.1:5601 0.0.0.0:* ... LISTENING

/etc/kibana/kibana.yml 我有:

server.host: "localhost" # I have also tried "elk.mydomain.com"
server.basepath: "/kibana" # I have also tried ""
server.name: "a_label"

当我在本地使用 httpie (http :5601) 检查时,我得到 Found.

我卡在这里了。

我找到了答案:

https://discuss.elastic.co/t/reverse-proxy-kibana/43647/14

我将 /etc/nginx/conf.d/kibana.conf 片段中的 location 更改为以下内容:

location ~ ^/kibana/(.*)$ {
        rewrite /kibana/(.*) / break;
        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;
    }

我不太确定发生了什么,但它确实有效。也许有 nginx 意识的人可以解释这个?与消耗 link 的一部分有关(如 post 中所述)。