я бы хотел проложить маршрут /
к носок
и /(.*)
к б.носок
.
Я пытался
место расположения / {
proxy_pass http://unix:/tmp/a.sock;
proxy_read_timeout 30;
proxy_connect_timeout 30;
прокси_перенаправление выключено;
proxy_set_header Хост $host;
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 $ схема;
}
расположение ~ /(.*) {
proxy_pass http://unix:/tmp/b.sock;
proxy_read_timeout 30;
proxy_connect_timeout 30;
прокси_перенаправление выключено;
proxy_set_header Хост $host;
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 $ схема;
}
тоже с разным порядком.
Можно ли это сделать с помощью nginx, если да, то как?
Я считаю, что согласно документации все, что заканчивается на /
принимает подстановочный знак после /
и простой маршрут без регулярного выражения имеет приоритет.
По сути, бэкэнд на б.носок
имеет определение маршрута /:срок
или же /{срок}
в зависимости от того, какую библиотеку маршрутизации вы используете, но не имеет обработчика для /
.
Вы, вероятно, думаете: «Так добавь обработчик для /
и закругляйтесь на этом". Я мог бы сделать это, но это обходной путь. Я хотел бы носок
обрабатывать /
.
Итак, еще раз, можно ли это сделать с помощью nginx и как?