使用nginx做正向代理
关于使用nginx做正向代理,这里有一篇很不错的文章
https://www.alibabacloud.com/blog/how-to-use-nginx-as-an-https-forward-proxy-server_595799
说道正向代理很简单,问题在于正确处理https流量,处理方式有2种,
- Tunnel Proxy。不会解密流量。文章里聚焦的是这种类型。
- Man-in-the-Middle(MITM) proxy。解密流量。Proxy会使用自己的自签证书。在整个链路中,有2个TLS/SSL session。Jmeter对于https流量的录制,就是属于这种类型。
对于Tunnel Proxy,有2个nginx解决方案。第一种是Layer 7的,使用HTTP CONNECT 请求来建立client和Proxy之间的通道。
Alibaba @chobits provides the ngx_http_proxy_connect_module connect module (content in Chinese) to support the HTTP CONNECT method, to extend NGINX as a forward proxy.
模块代码地址:https://github.com/chobits/ngx_http_proxy_connect_module
参照这2个链接,可以实现nginx的正向代理。要注意的一点是,编译nginx时,选择高一点的版本,比如1.16.0,用低版本1.9.2日,编译有不少报错,处理起来要费时间。
另外就是似乎目标网站,是需要支持HTTP CONNECT的,否则也不能访问。
这个代理弄好后,在server下用allow/deny做一下IP限制,不然一会就会有很多人来用你的代理了。或者是采用一下认证措施。
- 点赞
- 收藏
- 关注作者
评论(0)