如何使用 nginx 作为代理(而不是反向代理)?

如何使用 nginx 作为代理(而不是反向代理)?

似乎大多数人都在使用 nginx 作为反向代理。 可以将其用作代理吗? 因此网络中的人们将通过 nginx 来访问互联网。

答案1

区分这种模式的常用术语是“向前代理人”。

根据各种消息来源,Nginx不是旨在充当正向代理。

尽管如此,可以对明文 HTTP 查询也这样做,因为从根本上来说,两种模式都使用类似的机制,最大的区别在于目标主机是在配置中设置(对于反向代理)还是从客户端请求中获取(正向代理):

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

(但是,这只是中继,而不是像 Squid 那样的缓存。)

更重要的是,Nginx 不支持CONNECT透明 HTTPS 中继(即非 MITM)所需的 HTTP 命令。这可以通过外部模块提供:

答案2

相关内容