標籤:
用nginx做Proxy 伺服器上網
目前現狀:只有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;
- }
-
-
- }
- }
第5部分:測試並啟動nginx
ulimit -SHn 51200
/usr/local/webserver/nginx/sbin/nginx -t
/usr/local/webserver/nginx/sbin/nginx
第6部分:nginx日誌切割指令碼
用nginx做Proxy 伺服器上網