赞
踩
如果本地无法访问互联网,则通过nginx的正向代理,可以将本地的所有流量进行代理,从而达到访问互联网的目的,低版本的nginx需要安装插件ngx_http_proxy_connect_module才可以,否则浏览器访问时报错:ERR_TUNNEL_CONNECTION_FAILED
有的说高版本不需要插件,下载了https://nginx.org/download/nginx-1.24.0.zip,试了下,http协议没问题,但https协议也会报错:ERR_TUNNEL_CONNECTION_FAILED
话不多说,上代码:
1、下载nginx并安装相关依赖
- yum -y install gcc
- yum install -y gcc-c++
- yum install -y pcre pcre-devel
- yum install -y zlib zlib-devel
- yum install -y openssl openssl-devel
- mkdir -p /mnt/soft/installPackage
- cd /mnt/soft/installPackage
- wget http://nginx.org/download/nginx-1.18.0.tar.gz
2、解压nginx压缩包
tar -zxvf nginx-1.18.0.tar.gz
3、下载正向代理插件,此插件为必须
GitHub - chobits/ngx_http_proxy_connect_module: A forward proxy module for CONNECT request handling
- yum install git
- yum -y install patch
- git clone https://gitee.com/web_design_of_web_frontend/ngx_http_proxy_connect_module.git
4、编译正向代理插件
- cd /mnt/soft/installPackage/nginx-1.18.0
- patch -p1 < /mnt/soft/installPackage/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_1018.patch
5、编译安装nginx
- ./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/mnt/soft/installPackage/ngx_http_proxy_connect_module
- make && make install
安装目录:/usr/local/nginx
配置文件目录:/usr/local/nginx/conf/nginx.conf
6、配置正向代理
- # 参考 https://github.com/chobits/ngx_http_proxy_connect_module
- server {
- listen 9090;
- resolver 114.114.114.114 valid=60s ipv6=off;
- resolver_timeout 30s;
- proxy_connect;
- proxy_connect_allow 443 80;
- proxy_connect_connect_timeout 10s;
- proxy_connect_read_timeout 10s;
- proxy_connect_send_timeout 10s;
- location / {
- proxy_pass $scheme://$http_host$request_uri;
- proxy_set_header Host $host;
- proxy_http_version 1.1;
- #proxy_ssl_server_name on;
- }
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
7、启动nginx
- cd /usr/local/nginx/sbin
- ./nginx
- 或
- /usr/local/nginx/sbin/ngxin
8、开机自启动
- cd /usr/lib/systemd/system/
- vi nginx.service
- #复制以下内容到nginx.service文件中[Unit]
- Description=nginx
- After=network.target
- [Service]
- Type=forking
- ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- ExecReload=/usr/local/nginx/sbin/nginx -s reload
- ExecStop=/usr/local/nginx/sbin/nginx -s quit
- PrivateTmp=true
- [Install]
- WantedBy=multi-user.target
9、重启nginx,加入开机自启动
- pkill -9 nginx
- systemctl start nginx
- systemctl enable nginx
10、配置系统代理
11、打开浏览器,访问外网地址,可以正常打开了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。