一、正向代理的概念
正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
二、Nginx正向代理配置
环境:Centos7
服务端:10.0.0.47
客户端:10.0.0.48
1.服务端配置
安装NGINX和模块
[root@ c7-47 ~]# yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel wget pcre pcre-devel git
[root@ c7-47 ~]# git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
[root@ c7-47 ~]# wget http://nginx.org/download/nginx-1.14.2.tar.gz
[root@ c7-47 ~]# tar zxf nginx-1.14.2.tar.gz
[root@ c7-47 ~]# cd nginx-1.14.2/
[root@ c7-47 nginx-1.14.2]# patch -p1 <../ngx_http_proxy_connect_module/patch/proxy_connect_1014.patch
[root@ c7-47 nginx-1.14.2]# /configure --with-http_stub_status_module --with-http_ssl_module --add-module=../ngx_http_proxy_connect_module
[root@ c7-47 nginx-1.14.2]# make && make install
2.虚拟主机配置
[root@ c7-47 ~]# mkdir -p /usr/local/nginx/conf/conf.d
[root@ c7-47 ~]# vim /usr/local/nginx/conf/nginx.conf
[root@ c7-47 conf.d]# cd /usr/local/nginx/conf/conf.d/
[root@ c7-47 conf.d]# vim test.conf
[root@ c7-47 conf.d]# cat test.conf
server {
listen 90; #端口
server_name 10.0.0.47; #一般写dns服务器 也可以直接写ip
resolver 223.5.5.5;
proxy_connect;
proxy_connect_allow 443 563; # https
proxy_connect_connect_timeout 10s;
proxy_connect_read_timeout 10s;
proxy_connect_send_timeout 10s;
location / {
proxy_pass http://$host;
proxy_set_header Host $host;
}
}#启动nginx
[root@ c7-47 ~]# /usr/local/nginx/sbin/nginx
[root@ c7-47 ~]# netstat -ntlp|grep nginx
tcp 0 0 0.0.0.0:90 0.0.0.0:* LISTEN 5111/nginx: master
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5111/nginx: master
3、客户端配置
全局代理设置
[root@ c7-48 ~]# vim /etc/profile
##代理
export http_proxy=http://10.0.0.47:90
export https_proxy=http://10.0.0.47:90
export ftp_proxy=http://10.0.0.47:90
[root@ c7-48 ~]# source /etc/profile
yum的代理设置:
[root@ c7-48 ~]# vim /etc/yum.conf
proxy=http://http://10.0.0.47:90
wget的代理设置:
[root@ c7-48 ~]# vim /etc/wgetrc
http_proxy=http://10.0.0.47:90
ftp_proxy=http://10.0.0.47:90
[root@ c7-48 ~]# vim /etc/resolv.conf
#nameserver 223.5.5.5
#nameserver 223.6.6.6
4、使用火狐浏览器测试
改一下代理配置
把nginx服务停了
[root@ c7-47 ~]# /usr/local/nginx/sbin/nginx -s stop
在访问一下百度