ngxin 正向代理配置 访问互联网

      如果本地无法访问互联网,则通过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;
     }
}

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、打开浏览器,访问外网地址,可以正常打开了

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值