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,可以根據自己的需要修改。


舉例:
 

  1. worker_processes 1;
  2. master_process off;
  3. daemon off;
  4. #pid /var/run/nginx.pid;

  5.  
  6. events {
  7. worker_connections 768;
  8. # multi_accept on;
  9. }

  10.  
  11. http {
  12. include mime.types;
  13. default_type application/octet-stream;

  14.  
  15. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  16. '$status $body_bytes_sent "$http_referer" '
  17. '"$http_user_agent" "$http_x_forwarded_for"';

  18.  
  19. access_log /var/log/nginx/access.log;
  20. error_log /var/log/nginx/error.log;

  21.  
  22. sendfile on;

  23.  
  24. server {
  25. resolver 10.57.220.2;
  26. listen 82;
  27. access_log logs/host.access.log main;

  28.  
  29. location / {
  30. proxy_pass http://$http_host$request_uri;
  31. }

  32.  

  33.  
  34. }
  35. }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章