Nginx正向代理

原文:http://www.blogjava.net/fastzch/archive/2009/01/12/250956.html

Nginx常用来做反向代理,但是作为正想代理大家有没有试过呢?

咱们公司有的服务器不能上外网,在这种情况下装软件比较麻烦,所以考虑通过能上外网的机器提供正向代理。

Nginx配置如下:

server{
resolver x.x.x.x;
listen 82;
location / {
proxy_passhttp://$http_host$request_uri;
}
}

注意项:
1. 不能有hostname
2. 必须有resolver, 即dns,即上面的x.x.x.x,换成你们的DNS服务器ip即可
3 . $http_host和$request_uri是nginx系统变量,不要想着替换他们,保持原样就OK。

查看dns方法
cat /etc/resolv.conf

代理使用

在需要访问外网的机器上执行以下操作之一即可:
1. export http_proxy=http://yourproxyaddress:proxyport
2. gedit ~/.bashrc
export http_proxy=http://yourproxyaddress:proxyport
yourproxyaddress也就是你的Nginx服务器的ip了,proxyport就是上面配置中的82,可以根据自己的需要修改。


=========================================分割线================================================

自我总结:

1、修改Nginx.conf 文件,添加dns 的解析 resolver 地址

2、配置nginx 作为代理的方法 proxy_pass


思考:利用 squid 做正向代理也是如此?squid 作为代理缓存的利用率如何?


### Nginx 正向代理的配置方法 Nginx 可以通过特定的配置实现正向代理功能。以下是详细的配置说明以及示例: #### 配置核心要点 为了使 Nginx 实现正向代理,需要设置 `resolver` 指令来指定 DNS 服务器地址,并使用 `$http_host` 和 `$request_uri` 动态解析目标主机和请求路径[^3]。 #### 示例配置 以下是一个典型的 Nginx 正向代理配置示例: ```nginx server { resolver 114.114.114.114 ipv6=off; # 指定DNS服务器并禁用IPv6支持 listen 8080; # 设置监听端口 location / { proxy_pass http://$http_host$request_uri; # 将请求转发到目标服务器 proxy_set_header Host $host; # 转发Host头信息 proxy_set_header X-Real-IP $remote_addr; # 添加客户端真实IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 此配置中,`resolver` 指定了用于域名解析的 DNS 服务器 IP 地址,而 `proxy_pass` 使用动态变量 `$http_host` 和 `$request_uri` 来构建完整的请求 URL[^3]。 #### 启动服务 完成配置文件编辑后,需重新加载 Nginx 配置以应用更改。可以通过以下命令重启或重载 Nginx: ```bash sudo nginx -s reload ``` 如果是在 Windows 平台上运行,则可以直接启动 Nginx 的可执行程序[^2]: ```plaintext 点击 nginx.exe 启动 ``` --- ### 注意事项 1. **权限问题**:某些操作系统可能需要管理员权限才能绑定低编号端口(如 80 或 443)。建议使用高编号端口(如 8080)测试配置。 2. **防火墙规则**:确保服务器上的防火墙允许外部访问所配置的端口。 3. **日志排查**:遇到问题时,可通过查看 Nginx 错误日志定位原因。错误日志通常位于 `/var/log/nginx/error.log` 中。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值