本文主要是介绍搭建nginx正向代理服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
搭建nginx正向代理服务
需求背景: 因为公司业务需要需部署一个正向代理。
安装环境:
nginx本身是不支持https协议请求转发,为了让nginx能达到这一效果需要借助第三方模块ngx_http_proxy_connect_module。首先下载这一模块:https://github.com/chobits/ngx_http_proxy_connect_module到服务器,然后准备nginx环境。
yum -y install pcre-devel zlib-devel gcc gcc+c++ make openssl-devel pcre-devel zlib-devel patch
tar xf nginx-1.6.0.tar.gz
unzip /root/ngx_http_proxy_connect_module-master.zip
cd /root/nginx-1.6.0/
patch -p1 < /root/ngx_http_proxy_connect_module-master/proxy_connect.patch
./configure --add-module=/root/ngx_http_proxy_connect_module-master/ngx_http_proxy_connect_module
make && make install
编译安装成功后,配置nginx正向代理:
server {resolver 8.8.8.8; #dns解析地址listen 89; #代理监听端口proxy_connect;proxy_connect_allow 443 563;location / {proxy_pass https://$host$request_uri; #设定https代理服务器的协议和地址proxy_set_header HOST $host;proxy_buffers 256 4k;proxy_max_temp_file_size 0k;proxy_connect_timeout 30;proxy_send_timeout 60;proxy_read_timeout 60;proxy_next_upstream error timeout invalid_header http_502;}
当配置文件配置好之后保存即可,重启nginx,进行测试:
去内网服务器里curl,可以在环境变量里添加代理:
vim /etc/profile
#export https_proxy=正向代理IP:端口
export https_proxy=192.168.1.11:89
另一种 方式不用加环境变量,临时代理
#curl -i --proxy 代理IP:端口 要访问域名
curl -i --proxy 192.168.1.11:89 www.baidu.com
这篇关于搭建nginx正向代理服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!