Как использовать nginx в качестве прокси (не обратного прокси)?

Как использовать nginx в качестве прокси (не обратного прокси)?

Кажется, большинство людей используют nginx как обратный прокси. Возможно ли использовать его как прокси? Таким образом, люди в сети будут проходить через nginx, чтобы получить доступ к интернету.

решение1

Обычный термин для обозначения этого режима — «впередпрокси».

По разным данным, Nginx — этонетпредназначен для работы в качестве прямого прокси-сервера.

Тем не менее, этомогсделайте это для HTTP-запросов с открытым текстом, поскольку по сути оба режима используют схожий механизм, самое большое различие заключается в том, задается ли целевой хост в конфигурации (для обратных прокси-серверов) или берется из клиентского запроса (прямые прокси-серверы):

location / {
    proxy_pass http://$http_host$uri$is_args$args;
}

(Однако это всего лишь ретрансляция, а не кэширование, как в Squid.)

Что еще важнее, Nginx не поддерживает HTTP- CONNECTкоманду, необходимую для прозрачной HTTPS-ретрансляции (т.е. не-MITM). Это можно обеспечить с помощью внешних модулей:

решение2

да. Есть модуль/патч для получения функциональности прямого проксиhttps://github.com/chobits/ngx_http_proxy_connect_module

https://www.alibabacloud.com/blog/how-to-use-nginx-as-an-https-forward-proxy-server_595799

Связанный контент