Всем привет!
Пытаюсь разделить запросы на
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 от приложения.
Какими должны быть настройки?