%3F.png)
Кажется, большинство людей используют nginx как обратный прокси. Возможно ли использовать его как прокси? Таким образом, люди в сети будут проходить через nginx, чтобы получить доступ к интернету.
решение1
Обычный термин для обозначения этого режима — «впередпрокси».
По разным данным, Nginx — этонетпредназначен для работы в качестве прямого прокси-сервера.
- https://stackoverflow.com/questions/46060028/how-to-use-nginx-as-forward-proxy-for-any-requested-location
- много гугления
Тем не менее, этомогсделайте это для 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