nginx正向代理——实现上网功能

隐身守侯 提交于 2020-01-10 14:50:12

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

nginx不仅可以来做反向代理,也可以用来做正向代理(透明代理,代理上网)。

反向代理,外部机器通过网关访问网关后面服务器上的内容,网关起到了反向代理的功能,我们平时通过浏览器访问远程的web服务器大都是这样实现的。

正向代理,就是上面的过程反过来,我们平时说的代理上网,局域网中的用户通过网关做代理访问外部的网络。

nginx同样可以实现代理上网的功能,配置如下:

 
  1. user www;

  2. worker_processes 1;

  3. error_log /var/log/nginx/error.log debug;

  4.  
  5. events {

  6. use epoll;

  7. worker_connections 1024;

  8. }

  9.  
  10. http {

  11. resolver 8.8.8.8;

  12. server {

  13. listen 8088;

  14. location / {

  15. proxy_pass http://$http_host$request_uri;

  16. }

  17. }

  18. }

nginx实现代理上网,有三个关键点必须注意,其余的配置跟普通的nginx一样
1.增加dns解析resolver

2.增加无server_name名的server

3.proxy_pass指令

具体上网步骤:

1、找一台可以上服务器,安装nginx,然后按照上面配置好正向代理。

2、windows配置代理:

3、Linux上配置代理:

1)wget下的代理设置
A、临时生效

 
  1. set "http_proxy=http://[user]:[pass]@host:port/"

  2. export "http_proxy=http://[user]:[pass]@host:port/"

执行完,就可以在当前shell 下使用wget程序了。

B、使用wget参数

wget -e "http_proxy=http://[user]:[pass]@host:port/" http://baidu.com

C、当前用户永久生效

创建$HOME/.wgetrc文件,加入以下内容:
http_proxy=代理主机IP:端口
配置完后,就可以通过代理wget下载包了。

注:如果使用ftp代理,将http_proxy 改为ftp_proxy 即可。

2)lftp下代理设置

使lftp可以通过代理上网,可以做如下配置:

echo "export http_proxy=proxy.361way.com:8888" > ~/.lftp

3)yum设置

编辑/etc/yum.conf文件,按如下配置
http_proxy=代理主机IP:端口
proxy=http://yourproxy:8080/ #匿名代理proxy=http://username:password@yourproxy:8080/ #需验证代理

 

4)全局代理配置

编辑/etc/profile 或~/.bash_profile ,增加如下内容:

 
  1.  
  2. http_proxy=proxy.361way.com:8080

  3. https_proxy=proxy.361way.com:8080

  4. ftp_proxy=proxy.361way.com:8080

  5. export http_proxy https_proxy ftp_proxy

5)socket代理配置

这里以两个常见的socket代理软件socks5 和 tsocks 为例:
A、tsocks代理

 
  1.  
  2. 在终端中:

  3. sudo apt-get install tsocks

  4. 修改配置文件:

  5. sudo nano /etc/tsocks.conf

将其内容改成以下几行并保存退出:

 
  1. local = 192.168.1.0/255.255.255.0 #local表示本地的网络,也就是不使用socks代理的网络

  2. server = 127.0.0.1 # SOCKS 服务器的 IP

  3. server_type = 5 # SOCKS 服务版本

  4. server_port = 9999 #SOCKS 服务使用的端口

运行软件:
用 tsocks 运行你的软件很简单,在终端中:tsocks 你的软件 ,如tsocks wget url


B、socks5代理
安装socks客户端工具runsocks(正常安装socks5后自带)。在libsocks5.conf文件里加入所要使用的代理服务器。配置完成,可以通过如下命令运行测试:
runsocks wget -m [http://site1 | ftp://site2]

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!