用nginx做代理服务器上网
Posted ygmdream
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用nginx做代理服务器上网相关的知识,希望对你有一定的参考价值。
目前现状:只有1个机器能上网(web),其他机器不能方法: 能上网的做一个代理web服务器中转,其他机器连接它即可。采用nginx
nginx配置如下:
server
resolver x.x.x.x;
listen 82;
location /
proxy_pass http:// $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,可以根据自己的需要修改。
举例:
- worker_processes 1;
- master_process off;
- daemon off;
- #pid /var/run/nginx.pid;
-
- events
- worker_connections 768;
- # multi_accept on;
-
- http
- include mime.types;
- default_type application/octet-stream;
-
- log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- '$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
-
- access_log /var/log/nginx/access.log;
- error_log /var/log/nginx/error.log;
-
- sendfile on;
-
- server
- resolver 10.57.220.2;
- listen 82;
- access_log logs/host.access.log main;
-
- location /
- proxy_pass http://$http_host$request_uri;
-
-
以上是关于用nginx做代理服务器上网的主要内容,如果未能解决你的问题,请参考以下文章