@sulik93
Начал изучать Java. Продолжаю изучать Java.

Как настроить 2 location c proxy_pass?

Всем привет!
Пытаюсь разделить запросы на api и dev. Каждый location проксирует на свое приложение.
Конфигурационный файл nginx :
server {
 listen 80;
 listen [::]:80;
 server_name some.domain;

 server_tokens off;
 root /var/www/html;

  location /api {
   proxy_pass_request_headers    on;
   proxy_pass http://localhost:1337;
   proxy_http_version 1.1;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection 'upgrade';
   proxy_set_header Host $host;
   proxy_cache_bypass $http_upgrade; 
 }

  location /dev {
   proxy_pass_request_headers    on;
   proxy_pass http://localhost:1338;
   proxy_http_version 1.1;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection 'upgrade';
   proxy_set_header Host $host;
   proxy_cache_bypass $http_upgrade; 
 }
}

Можно ли так разделять?
Как настроить переброс uri на pass_proxy?
Если запрашиваю some.domain/api/uri_1, то проксируется localhost:1337/api/uri_1, а нужно без /api
Пытался сделать через rewrite так:
location /api {
   rewrite ^ /api([0-9a-z]*) $1 break;
   proxy_pass_request_headers    on;
   proxy_pass http://localhost:1337;
   proxy_http_version 1.1;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection 'upgrade';
   proxy_set_header Host $host;
   proxy_cache_bypass $http_upgrade; 
 }

В результате экспериментов потрачен целый день и получены 404, 500, 502 от nginx и 404 от приложения.
Какими должны быть настройки?
  • Вопрос задан
  • 260 просмотров
Пригласить эксперта
Ответы на вопрос 1
Добавьте в конце /
Вот так что бы было:
proxy_pass localhost:1338/;
Ответ написан
Ваш ответ на вопрос

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

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