Итак, у меня есть сторонний прокси (возможно, под кальмаром), который будет принимать только соединения с одного из моих IP-адресов, но мне нужно иметь доступ к нему из разных IP-адресов.nginx - пересылать запросы другому прокси
Так что я пытаюсь поместить nginx для пересылки запросов на этот прокси. Я знаю, что Nginx может направить запрос, как это:
location/{
proxy_pass http://$http_host$uri$is_args$args;
}
Это будет работать, если мне нужно Nginx пересылать запросы непосредственно на целевой сайт, но мне нужно, чтобы передать его прокси-X первым. Я пробовал это:
upstream myproxy {
server X.X.X.X:8080;
}
location/{
proxy_pass http://myproxy$uri$is_args$args; // also tried: http://myproxy$http_host$uri$is_args$args
}
Но я получаю «(104) Сброс соединения сверстником». Я думаю, потому что Nginx это проксировании так:
GET /index.html HTTP/1.1
Host: www.targetdomain.com.br
Но мне нужно, чтобы прокси-сервер, как это:
GET http://www.targetdomain.com.br/index.html HTTP/1.1
Я понимаю, но в этом случае вам нужно установить «www.targetdomain.com.br» вручную, я хочу, чтобы решить автоматически. Я использую кальмара, чтобы сделать это сейчас. – lucaswxp
Я отредактировал свой ответ, чтобы показать, как я с этим справляюсь (с 'server_name', который захватывает переменную поддомена). – Silex
Если вам нужно установить хост на основе параметров запроса, вы можете делать совпадения с помощью 'if' и' set' и т. Д. (См. Ссылку внизу моего ответа). – Silex