У меня есть следующий файл конфигурации NGINX:
сервер {
имя_сервера devices.example.org;
ssl_протоколы TLSv1.2;
ssl_certificate /etc/ssl/web/example.crt;
ssl_certificate_key /etc/ssl/web/example.key;
расположение ~* ^/(.*)(.*)?$ {
прокси_пароль http://$1.proxy.tv$2;
прокси_буферизация выключена;
proxy_set_header Хост $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
И мне нужно проксировать все входящие запросы на показанный бэкэнд, т.е.
https://devices.example.org/m123
должен проксировать http://m123.proxy.tv
https://devices.example.org/m123/favicon.ico
должен проксировать http://m123.proxy.tv/favicon.ico
https://devices.example.org/m123/scripts/something.js?params=bar
должен проксировать http://m123.proxy.tv/scripts/something.js?params=bar
Тем не менее, я всегда получаю Плохой шлюз ошибка в качестве возврата, а в логах получаю:
[ошибка] 18643 # 0: * 12393 favicon.ico.proxy.tv не может быть разрешен (3: Хост не найден)
Я предполагаю, что мое регулярное выражение каким-то образом искажает прокси-запрос, но я не уверен, как это сделать.
Другие комбинации, которые я пробовал:
расположение ~* ^/(.*)(?:/(.*))$
прокси к http://$1.proxy.tv/$2$is_args$args
расположение ~* ^/(.*)(?:/(.*))?
прокси к http://$1.proxy.tv/$2$is_args$args
Любая помощь приветствуется.