【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
nginx不仅可以来做反向代理,也可以用来做正向代理(透明代理,代理上网)。
反向代理,外部机器通过网关访问网关后面服务器上的内容,网关起到了反向代理的功能,我们平时通过浏览器访问远程的web服务器大都是这样实现的。
正向代理,就是上面的过程反过来,我们平时说的代理上网,局域网中的用户通过网关做代理访问外部的网络。
nginx同样可以实现代理上网的功能,配置如下:
-
user www;
-
worker_processes 1;
-
error_log /var/log/nginx/error.log debug;
-
events {
-
use epoll;
-
worker_connections 1024;
-
}
-
http {
-
resolver 8.8.8.8;
-
server {
-
listen 8088;
-
location / {
-
proxy_pass http://$http_host$request_uri;
-
}
-
}
-
}
nginx实现代理上网,有三个关键点必须注意,其余的配置跟普通的nginx一样
1.增加dns解析resolver
2.增加无server_name名的server
3.proxy_pass指令
具体上网步骤:
1、找一台可以上服务器,安装nginx,然后按照上面配置好正向代理。
2、windows配置代理:
3、Linux上配置代理:
1)wget下的代理设置
A、临时生效
-
set "http_proxy=http://[user]:[pass]@host:port/"
-
或
-
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 ,增加如下内容:
-
http_proxy=proxy.361way.com:8080
-
https_proxy=proxy.361way.com:8080
-
ftp_proxy=proxy.361way.com:8080
-
export http_proxy https_proxy ftp_proxy
5)socket代理配置
这里以两个常见的socket代理软件socks5 和 tsocks 为例:
A、tsocks代理
-
在终端中:
-
sudo apt-get install tsocks
-
修改配置文件:
-
sudo nano /etc/tsocks.conf
将其内容改成以下几行并保存退出:
-
local = 192.168.1.0/255.255.255.0 #local表示本地的网络,也就是不使用socks代理的网络
-
server = 127.0.0.1 # SOCKS 服务器的 IP
-
server_type = 5 # SOCKS 服务版本
-
server_port = 9999 #SOCKS 服务使用的端口
运行软件:
用 tsocks 运行你的软件很简单,在终端中:tsocks 你的软件 ,如tsocks wget url
B、socks5代理
安装socks客户端工具runsocks(正常安装socks5后自带)。在libsocks5.conf文件里加入所要使用的代理服务器。配置完成,可以通过如下命令运行测试:
runsocks wget -m [http://site1 | ftp://site2]
来源:oschina
链接:https://my.oschina.net/u/3377232/blog/1974024