![Проблема с NGINX proxy_pass](https://rvso.com/image/762121/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0%20%D1%81%20NGINX%20proxy_pass.png)
Отказ от ответственности:
Я уже открывал похожий вопрос о переполнении стека, прежде чем понял, что переполнению стека не место в вопросах кода...
Моя проблема:
Я пытаюсь получить доступ к веб-сервису, подключенному к моему серверу nginx через туннель ssh. Он отлично работает, если я подключаюсь к серверу ssh и использую порт туннеля curl. Моим следующим шагом будет сделать proxy_pass в моей конфигурации nginx, чтобы разрешить нам доступ к этому сервису с учетом порта. Я думал, что я справился с этим, используя следующую конфигурацию:
location ~ ^/test/([0-9]+)/ {
#allow our.ip/32;
proxy_pass http://127.0.0.1:$1/;
}
Когда индекс загружается, он пытается перенаправить на страницу с именем login.php (которая существует, и я могу попасть на нее, используя curl localhost:port/login.php). После некоторых исследований я пришел к решению удалить слеши из location и proxy_pass, сделав это так:
location ~ ^/test/([0-9]+) {
#allow our.ip/32;
proxy_pass http://127.0.0.1:$1;
}
Это почти то, что вы найдете в большинстве примеров, НО ЭТО НЕ РАБОТАЕТ. Это просто 502, и я не могу понять, почему.
РЕДАКТИРОВАТЬ
Это журнал ошибок nginx из запроса:
2021/01/11 14:21:49 [error] 88542#88542: *19093 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: my.server.address, request: "GET /test/1480/ HTTP/2.0", upstream: "http://127.0.0.1:1480/test/1480/", host: "my.server.address"
Он не должен передавать "/test/" на удаленный хост...