@keddad
Ученик

Nginx — почему location'ы работают не так, как ожидается?

У меня есть набор контейнеров, Nginx работает как реверс-прокси. Конфигурация выглядит так

events { }
http {
  client_max_body_size 100M;

  server {
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    server_name somedomain.com localhost;

    location /api/core {
      proxy_pass http://ff_corecomp:3800;
    }

    location ~ (/api/parse|/api/social) {
      proxy_pass http://ff_socialcomp:3800;
    }
    
    location /api/video {
      proxy_pass http://ff_videocomp:3800;
    }
  }
}


Я ожидаю, что когда я буду делать запрос к /api/social/чтонибудь, он будет отправляться на ff_socialcomp. Но, судя по логам, они отправляются на ff_videocomp:
ff_videocomp_1   | INFO:     172.18.0.7:52666 - "GET /api/social/generate_204 HTTP/1.0" 404 Not Found
ff_nginx_1       | 172.18.0.1 - - [27/Aug/2020:12:31:26 +0000] "GET /api/social/generate_204 HTTP/1.1" 404 22 "-" "python-requests/2.24.0"


В чем ошибка конфигурации?
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 2
@keddad Автор вопроса
Ученик
Судя по всему, конфигурация просто не применялась, что то связанное с докером. Я все почистил (https://gist.github.com/bastman/5b57ddb3c11942094f...), снова собрал, теперь все работает
Ответ написан
Комментировать
BuriK666
@BuriK666 Куратор тега Nginx
Компьютерный псих
location ~ ^/api/(parse|social) {
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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