nginx的正向代理

正向代理

注意:Nginx本身不支持HTTPS正向代理,需要安装ngx_http_proxy_connect_module模块后才可以支持HTTPS正向代理,否则会遇到HTTP 400错误。
1、安装Nginx和模块
安装nginx所需的依赖包:
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel wget pcre pcre-devel git
从官网下载nginx:
git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
wget http://nginx.org/download/nginx-1.14.2.tar.gz
解压:
tar -xzvf nginx-1.14.2.tar.gz
cd nginx-1.14.2/
打补丁:
patch -p1 <…/ngx_http_proxy_connect_module/patch/proxy_connect_1014.patch
检测环境编译安装:
./configure --with-http_stub_status_module --with-http_ssl_module --add-module=…/ngx_http_proxy_connect_module
make && make install
nginx的正向代理
nginx的正向代理
2、虚拟主机配置
创建目录:
mkdir -p /usr/local/nginx/conf/conf.d/
更改nginx配置文件:
vim /usr/local/nginx/conf/nginx.conf
user nobody; #取消注释
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include /usr/local/nginx/conf/conf.d/*.conf; #添加

}
添加一个test.conf文件
vim /usr/local/nginx/conf/conf.d/test.conf
server {
listen 90;
server_name 10.0.0.90;
resolver 223.5.5.5;
proxy_connect;
proxy_connect_allow 443 563;
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;
}
}
3、客户端配置
全局的代理设置:
vim /etc/profile
##代理
export http_proxy=http://10.0.0.41:90
export https_proxy=http://10.0.0.41:90
export ftp_proxy=http://10.0.0.41:90

nginx的正向代理
source /etc/profile

nginx的正向代理
yum的代理设置:

vim /etc/yum.conf
proxy=http://http://10.0.0.41:90
nginx的正向代理
wget的代理设置:

vim /etc/wgetrc
http_proxy=hhttp://10.0.0.41:90
ftp_proxy=http://10.0.0.41:90
nginx的正向代理
4、测试代理
使用firefox浏览器:
nginx的正向代理
nginx的正向代理

nginx的正向代理
如何确定访问是不是走的代理?

可以在浏览器上设置好代理后,然后将你代理的nginx关掉,然后重新打开一个网页,会发现测试不了访问网站了!