10

I'm trying to set up graphite to work with grafana in docker based on this project : https://github.com/kamon-io/docker-grafana-graphite

and when I run my dockerfile I get 403 Forbidden error for nginx.

my configurations for nginx are almost the same as the project's configurations. I run my dockerfiles on a server and test them on my windows machine. So the configurations are not exactly the same ... for example I have :

server {
listen 80 default_server;
server_name _;
location / {
  root /src/grafana/dist;
  index index.html;
}
location /graphite/ {
    proxy_pass                 http:/myserver:8000/;
    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-Server  $host;
    proxy_set_header           X-Forwarded-Host  $host;
    proxy_set_header           Host  $host;

    client_max_body_size       10m;
    client_body_buffer_size    128k;

    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout         90;

    proxy_buffer_size          4k;
    proxy_buffers              4 32k;
    proxy_busy_buffers_size    64k;
    proxy_temp_file_write_size 64k;

    add_header Access-Control-Allow-Origin "*";
    add_header Access-Control-Allow-Methods "GET, OPTIONS";
    add_header Access-Control-Allow-Headers "origin, authorization, accept";
}

But I still keep getting 403 forbidden. Checking the error log for nginx says :

 directory index of "/src/grafana/dist/" is forbidden

Stopping and running it again it says :

 directory index of "/src/grafana/dist/" is forbidden

I'm very new to nginx ... was wondering if there's something in the configurations that I'm misunderstanding.

Thanks in advance.

4

2 回答 2

22

That's because you are hitting the first location block and the index file is not found.

于 2014-12-04T21:17:41.290 回答
5

A request to '/' will look for 'index.html' in '/src/grafana/dist'.

Confirm that: 1. 'index.html' exists. 2. You have the right permissions. nginx has read-access to the entire directory tree leading up to 'index.html'. That is, it must be able to read directories 'src', 'src/grafana' and 'src/grafana/dist' as well as 'index.html' itself. A hacky quick-fix to achieve this would be to do 'sudo chmod -R 755 /src', but I don't recommend it.

于 2015-02-06T01:52:33.933 回答