я бы хотел проложить маршрут / к носок и /(.*) к б.носок.
Я пытался
место расположения / {
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 и как?