ubuntu20.04部署nginx正向代理服务
由于默认的nginx发布版本不支持正向代理功能,需要借助ngx_http_proxy_connect_module这个三方插件来完成,具体步骤如下
1、下载nginx源码包,笔者使用的是1.19.10版本,具体下载地址为:http://nginx.org/download/
2、安装依赖组件,sudo apt install openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev
3、下载ngx_http_proxy_connect_module三方组件源码,下载地址为https://github.com/chobits/ngx_http_proxy_connect_module
4、执行命令
patch -p1 < /path/to/ngx_http_proxy_connect_module/patch/proxy_connect.patch
5、执行configure命令
./configure --add-module=/path/to/ngx_http_proxy_connect_module
6、执行make & make install进行编译及安装
7、编译成功后会把nginx放在/usr/local/nginx目录下,其他目录参照nginx官网http://nginx.org/en/docs/configure.html
8、找到nginx的配置文件,默认为/usr/local/nginx/conf目录,添加如下配置:
server {
# 监听端口,这样其他内网机器就可以通过nginx服务器的8888端口访问外网,所以nginx必须能够访问外网
listen 8888;
# dns resolver used by forward proxying
#resolver 180.76.76.76;
resolver 127.0.0.53 ipv6=off;
resolver_timeout 30s;
# forward proxy for CONNECT request
proxy_connect;
proxy_connect_allow 443 563;
# 10秒对笔者来说有点短,会出现下载超时情况,所以延长至600s
proxy_connect_connect_timeout 600s;
proxy_connect_read_timeout 600s;
proxy_connect_send_timeout 600s;
send_timeout 600;
# forward proxy for non-CONNECT request
location / {
proxy_pass http://$host;
proxy_set_header Host $host;
}
}
9、启动nginx即可
参照文章:
1、http://nginx.org/en/docs/configure.html
2、https://github.com/chobits/ngx_http_proxy_connect_module
3、https://github.com/chobits/ngx_http_proxy_connect_module#configuration-example
上一篇: 线程同步互斥机制
下一篇: 可视化展示——模型融合