ngnix、tinyproxy搭建http正向代理

常见的几种搭建http正向代理的方法


使用ngnix搭建

ngnix官方目前只支持http的正向代理

1、安装Ngnix

sudo apt install ngnix

2、添加http代理配置

sudo vim /etc/nginx/conf.d/http.conf

server {
    resolver 8.8.8.8;	# 指定DNS服务器IP地址
    listen 8088;		# 指定http代理的端口
    location / {
        proxy_pass http://$http_host$request_uri;     # 设定代理服务器的协议和地址
        proxy_set_header HOST $host;
        proxy_buffers 256 4k;
        proxy_max_temp_file_size 0k;
        proxy_connect_timeout 30;
        proxy_send_timeout 60;
        proxy_read_timeout 60;
        proxy_next_upstream error timeout invalid_header http_502;
    }
}

3、重启ngnix服务

sudo service nginx restart


使用tinyproxy

tinyproxy占用资源少,同时支持http和https的代理

1、安装tinyproxy

### 配置 Nginx 正向代理支持 POST 请求 Nginx 默认情况下可以作为 HTTP正向代理,但由于其本身并不原生支持 `CONNECT` 方法,因此无法直接用于 HTTPS 请求。对于仅涉及 HTTP 的场景(包括 POST 请求),可以通过简单的配置实现正向代理功能[^1]。 以下是具体的配置方法: #### 基本配置示例 ```nginx http { server { listen 8080; location / { proxy_pass_request_headers on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_method POST; # 如果需要显式指定请求方法为POST,则可加入此行 proxy_pass http://target_server_address/; } } } ``` 上述配置中: - `listen 8080`: 表明 Nginx 将监听端口 8080 并接受来自客户端的请求。 - `proxy_pass_request_headers on`: 确保原始请求头被传递到目标服务器。 - `proxy_set_header`: 设置转发给目标服务器的头部字段,确保源 IP 和其他必要信息能够正确传输。 - `proxy_method POST`: 显式设置请求方法为 POST(如果需要强制指定的话)。通常不需要这一行,除非有特殊需求。 #### 对于 HTTPS 请求的支持 由于 Nginx 不支持原生的 `CONNECT` 方法,所以它无法直接代理 HTTPS 流量。为了使 Nginx 能够处理 HTTPS 请求中的 POST 数据流,需引入第三方模块 **ngx_http_proxy_connect_module**[^2]。 安装该模块后,可以在配置文件中增加如下内容来启用对 HTTPS 的支持: ```nginx stream { upstream https_servers { server target_https_server_ip:443; } server { listen 8080 ssl_preread; resolver 8.8.8.8 ipv6=off; ssl_preread on; proxy_connect on; proxy_timeout 7d; proxy_pass https_servers; } } ``` 在此部分配置里: - 使用了 `ssl_preread` 功能读取 SSL 握手前的数据包。 - 启用了 `proxy_connect` 开关以允许通过 CONNECT 方式建立隧道连接至远程主机。 以上即完成了基于 Nginx 的简单 HTTP/HTTPS 正向代理配置过程,并能正常处理 POST 类型数据提交操作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值