web-dev-qa-db-ja.com

nginxで/ grafanaをプロキシする方法は?

私はデフォルトのgrafanaをセットアップして開始しましたが、 http:// localhost:30 で期待どおりに機能します。私はsslがインストールされているnginxでプロキシしようとしています。 https:// localhost/grafana に応答させようとしていますが、次のように機能します。

{{alert.title}}

私はこれを私のnginxサーバーブロックに持っています:

location /grafana {
     proxy_pass         http://localhost:3000;
     proxy_set_header   Host $Host;
}
16
AXE Labs

Nginxはプロキシされたサーバーへのリクエストの書き換えをサポートしているようですので、設定をこれに更新すると機能します:

location /grafana {
     proxy_pass         http://localhost:3000;
     rewrite  ^/grafana/(.*)  /$1 break;
     proxy_set_header   Host $Host;
}

私のgrafana.iniにも更新されたルートがあります:

[server]
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana
27
AXE Labs

@ AXE-Labsの回答に追加すると、URLを書き換える必要はありません。

nginx.conf

location /grafana/ {
     proxy_pass         http://localhost:3000/;
     proxy_set_header   Host $Host;
}

grafana.ini update root:

[server]
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/

ロケーションブロックに追加の/があることに注意してください。

ファイル全体を表示したい場合は、 https://Gist.github.com/mvadu/5fbb7f5676ce31f2b1e6 にアクセスしてください。ここで、Infludbとgrafanaのリバーブプロキシ設定を行っています。

10
Adarsha

Nginxとgrafanaをdockerで2つの異なるコンテナーで使用すると、同じ問題が発生しました。 http://docs.grafana.org/installation/behind_proxy/#nginx-configuration-with-sub-path に続いて、次のオプションをgrafanaサービスのdocker-composeに渡しました:

- GF_SERVER_DOMAIN=foo.bar.com
- GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s:/grafana

しかし、それはうまくいきませんでした、そして私のブラウザのコンソールは次のように表示します:net::ERR_CONTENT_LENGTH_MISMATCH

そこで、それを修正するために、nginx設定に次の行を追加しました。

location /grafana/ {
  proxy_pass http://monitoring_grafana:3000/;
  proxy_max_temp_file_size 0; # THIS MADE THE TRICK!
}
3
boris quiroz

ご参考までに:

root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana

一部のAPI呼び出しでプロキシエラーが発生します。私は見つけます:

root_url = %(protocol)s://%(domain)s:/grafana
0
JasonfromDR