1. 正向代理(开发环境)
1.1 正向代理的作用
• 用途:代理客户端请求,使内部客户端通过代理访问外部资源(如测试API、绕过网络限制)。
• 典型场景:
• 开发环境中绕过CORS限制。
• 调试外部服务请求。
• 模拟特定网络环境(如地理位置)。
1.2 配置Nginx正向代理
1.2.1 基础HTTP正向代理
# 新建配置文件:/etc/nginx/conf.d/forward-proxy.conf
server {
listen 8080; # 代理监听端口
resolver 8.8.8.8; # DNS解析器(必须配置)
location / {
proxy_pass http://$http_host$request_uri; # 动态转发到目标主机
proxy_set_header Host $http_host;
proxy_buffering off; # 关闭缓存,便于调试
}
}
• 关键指令:
• resolver
:指定DNS服务器,Nginx需解析$http_host
(如 example.com:80
)。
• proxy_pass
:动态构造目标URL。
• proxy_set_header Host
:保留原始请求的Host头。
1.2.2 启用HTTPS正向代理
Nginx默认不支持HTTPS正向代理(需处理CONNECT
方法),需通过第三方模块实现:
-
编译Nginx并添加模块:
# 下载模块 git clone https://github.com/chobits/ngx_http_proxy