Nginx配置正向代理

20 篇文章 0 订阅

nginx自身不支持https协议转发,可以借助第三方模块:ngx_http_proxy_connect_module

1. 安装:

Download nginx并解压
cd nginx-1.20.1 &&
    patch -p1 < /home/[username]/[..]/ngx_http_proxy_connect_module/ngx_http_proxy_connect_module-0.0.2/patch/proxy_connect_rewrite_1018.patch &&
./configure --prefix=/home/[install path]/ --add-module=/home/[username]/[..]/ngx_http_proxy_connect_module-0.0.2/ &&
    make -j [n] &&
    make install


注意:
- 不同版本nginx需要使用ngx_http_proxy_connect_module-0.0.2/patch/目录下不同的patch,具体看上述ngx_http_proxy_connect_module的github链接;
- 执行patch时要在解压过的nginx源码目录,patch文件中会使用一些基于 相对 路径的逻辑

2. 配置

server {
        listen       8848;
        server_name  localhost;

        access_log  logs/host.access.log  main;

        proxy_connect;                                # 开启proxy_connect
        proxy_connect_allow     443 80;               # 指定allow对象是443和80端口
        location / {
            allow [ip1];
            allow 127.0.0.1;
            deny all;

            proxy_pass http://$http_host$request_uri; # 配置proxy
            # 以下3行放宽timeout相关配置
            proxy_connect_timeout      300;
            proxy_send_timeout         600;
            proxy_read_timeout         600;

            proxy_set_header   Host $host;
            proxy_buffers 256 4k;
            proxy_max_temp_file_size 0k;

            root   html;
            index  index.html index.htm;
        }
}

3. 测试

使用wget

# export如下两行,wget会使用这两个环境变量来使用代理
export http_proxy=http://127.0.0.1:8848
export https_proxy=http://127.0.0.1:8848
# http
$wget 'http://www.baidu.com'
--2022-07-07 00:39:12--  http://www.baidu.com/
正在连接 127.0.0.1:8848... 已连接。
已发出 Proxy 请求,正在等待回应... 200 OK
长度:2381 (2.3K) [text/html]
正在保存至: “index.html”

100%[==========================================================================>] 2,381       --.-K/s 用时 0s

2022-07-07 00:39:12 (473 MB/s) - 已保存 “index.html” [2381/2381])


# https
$wget 'https://www.baidu.com'
--2022-07-07 00:38:58--  https://www.baidu.com/
正在连接 127.0.0.1:8848... 已连接。
已发出 Proxy 请求,正在等待回应... 200 OK
长度:2443 (2.4K) [text/html]
正在保存至: “index.html.1”

100%[==========================================================================>] 2,443       --.-K/s 用时 0s

2022-07-07 00:38:58 (17.9 MB/s) - 已保存 “index.html.1” [2443/2443])

如上,可以明显看到wget的执行是经过了127.0.0.1:8848这个代理的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值