k0st1an
@k0st1an
linux | python | django | ansible

Как правильно создать location при использовании proxy_pass?

Hi. Есть такой конфиг nginx:

server {
  listen   80;

  # Grafana
  location / {
    add_header Access-Control-Allow-Origin "*";
    proxy_pass http://127.0.0.1:3000/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

  # Graphite
  location /graphite/ {
    #add_header Access-Control-Allow-Origin "*";
    proxy_pass http://127.0.0.1:8000/;
    #proxy_set_header Host $host;
    #proxy_set_header X-Real-IP $remote_addr;
    #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}


При попытке зайти по 192.168.42.30/graphite в логе nginx такое

172.16.0.86 - - [11/Jan/2016:17:07:07 +0300] "GET /graphite/ HTTP/1.1" 200 542 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"
172.16.0.86 - - [11/Jan/2016:17:07:07 +0300] "GET /browser/header/ HTTP/1.1" 404 1251 "http://192.168.42.30/graphite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"
172.16.0.86 - - [11/Jan/2016:17:07:07 +0300] "GET /composer/? HTTP/1.1" 404 1251 "http://192.168.42.30/graphite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"


Вторая и третья строчка от Grafana. Подскажите как правильно организовать location -- graphite?
  • Вопрос задан
  • 1138 просмотров
Пригласить эксперта
Ответы на вопрос 1
k0st1an
@k0st1an Автор вопроса
linux | python | django | ansible
В общем проблема не сколько в nginx, сколько в самих аппах. В grafana есть директива root_url:

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

В graphite что-то подобное тож есть, но сходу соорудить рабочий вариант не получилось. Потому оставил как есть и конфиг nginx выглядит так:

server {
  listen   80;

  # Grafana
  location /grafana {
    rewrite  ^/grafana/(.*)  /$1 break;
    proxy_pass http://127.0.0.1:3000;
  }

  # Graphite
  location / { 
    proxy_pass http://127.0.0.1:8000; 
  }
}


Graphite упорно ищет папки в корне сервера, а не в подпапке /graphite/.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы