使用Nginx搭建公网代理服务器
使用Nginx搭建公网代理服务器
1、代理nginx服务器安装
此处使用nginx-1.16.0版本
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel patch pcre pcre-devel
wget http://nginx.org/download/nginx-1.16.0.tar.gz
git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
tar xf nginx-1.16.0.tar.gz -C /usr/local/src/
cd /usr/local/src/nginx-1.16.0/
patch -p1 < /root/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_101504.patch
#此处proxy_connect_module选择与nginx版本有关
./configure --add-module=/root/ngx_http_proxy_connect_module/
make -j 4
#我这里是4核的cpu
make install
安装说明:
1、nginx正向代理默认只支持http,
2、https的支持需借助第三方模块“ngx_http_proxy_connect_module实现;
模块GitHub地址: github.com/chobits/ngx_http_proxy_...
2、代理nginx服务器配置
#cat /usr/local/nginx/conf/nginx.conf
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
resolver 114.114.114.114;
#DNS服务器IP或者外网网关IP
server {
listen 6666;
#proxy端口
proxy_connect;
#调用ngx_http_proxy_connect_module模块
location / {
proxy_pass $scheme://$host$request_uri;
}
}
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
proxy_pass $scheme://$host$request_uri;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
3、客户端配置代理服务器上外网
3.1、Linux
配置:
vim /root/.bashrc #http&https代理配置到用户环境变量中去
export http_proxy=10.100.49.12:6666
export https_proxy=10.100.49.12:6666
测试:
curl www.baidu.com
3.2、Docker
配置:
mkdir -p /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/http-proxy.conf #添加编辑docker的http代理
[Service]
Environment="HTTP_PROXY=http://10.100.49.12:6666"
vim /etc/systemd/system/docker.service.d/https-proxy.conf #添加编辑docker的https代理
[Service]
Environment="HTTPS_PROXY=http://10.100.49.12:6666"
docker服务重载:
systemctl daemon-reload
systemctl restart docker
测试:
systemctl show --property=Environment docker
本作品采用《CC 协议》,转载必须注明作者和本文链接