Kibana 4とelasticsearchを同じサーバーで実行しています。
ドメイン経由でkibanaにアクセスする必要がありますが、試行してもファイルが見つかりません。
Nginxで場所/ kibanaを作成するだけで、proxy_passはkibanaのip:portです。
誰もがこれを持っていましたか?
私はそれを次のように修正しました:
location /kibana4/ {
proxy_pass http://Host:5601/;
proxy_redirect http://Host:5601/ /kibana4/;
}
応答を返すには、proxy_redirectを使用する必要がありました。
ありがとう
これはkibana 4.0.1で機能しました。また、ポート5601をリッスンしているnginxと同じホストでkibanaを実行していると想定しています。
Nginx設定は次のようになります。
server {
listen *:80 ;
server_name server;
access_log /var/log/nginx/kibana.srv-log-dev.log;
error_log /var/log/nginx/kibana.srv-log-dev.error.log;
location / {
root /var/www/kibana;
index index.html index.htm;
}
location ~ ^/kibana4/.* {
proxy_pass http://kibana4Host:5601;
rewrite ^/kibana4/(.*) /$1 break;
proxy_set_header Host $Host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd;
}
}
台詞
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd;
サイトに基本認証を提供するために使用できます。
アクセスリンクはhttp:// server/kibana4になります
/の後に実際のファイルを探すので、単に場所を使用しないでください
kibana4は場所ベースではなく、実際のサービスです
proxy_passを使用する場合は常に、それとともに上流減速を使用する必要があります
これは、http基本認証とSSL終了を使用した構成です
upstream kibana {
server 127.0.0.1:5601 fail_timeout=0;
}
server {
listen 80;
return 301 https://example.com;
}
server {
listen *:443 ;
ssl on;
ssl_certificate /etc/nginx/ssl/all.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
server_name example.com;
access_log /var/log/nginx/kibana.access.log;
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;
proxy_pass http://kibana;
}
}
これはKibana 4.6.1で私のために働きました:
location ~ (/app/kibana|/bundles/|/kibana|/status|/plugins) {
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;
rewrite /kibana/(.*)$ /$1 break;
}
(から ここ )
かなりエレガントなソリューションではありませんが、それでも..
注:この場合、Kibana構成のserver.basePathを「/」として設定する(またはコメントを付ける)必要があります。
Kibanaにはフロントエンドとバックエンドが分かれているため。両側に2つのプロキシを設定する必要があります。これは私のためにKibana 7+で機能し、Kibana構成ファイルに変更はありませんでした。
set $proxy_pass_url http://localhost:5601;
# Main location which proxy's Kibana backend server
location / {
proxy_set_header Host $proxy_pass_url;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
proxy_set_header Authorization "";
proxy_pass $proxy_pass_url/;
proxy_redirect $proxy_pass_url/ /;
}
# Reverse proxy of assets and front end app
location ~ (/app|/translations|/node_modules|/built_assets/|/bundles|/es_admin|/plugins|/api|/ui|/elasticsearch) {
proxy_pass $proxy_pass_url;
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_Host;
proxy_set_header Authorization "";
proxy_hide_header Authorization;
}