기본 grafana를 설정하고 시작했으며 http : // localhost : 3000 에서 예상대로 작동합니다 . ssl이 설치된 nginx로 프록시하려고합니다. https : // localhost / grafana에 응답하려고 하지만 다음을 제공합니다.
{{alert.title}}
내 nginx 서버 블록 에이 기능이 있습니다.
location /grafana {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
}
답변
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
답변
@ 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에 대한 프록시 설정을 리버브했습니다.
답변
도커에서 두 개의 다른 컨테이너에서 nginx와 grafana를 사용할 때도 같은 문제가 발생했습니다. 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!
}
답변
참고 사항 :
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana
일부 API 호출에 프록시 오류가 발생합니다. 나는 찾는다 :
root_url = %(protocol)s://%(domain)s:/grafana