序言:
nginx,是个常见的高性能的HTTP和反向代理web服务器,在以往配置中一般认为无法转发https协议的访问,但是由于各种原因,我需要搭建一台代理服务器,在正常搭建之后发现连百度都访问不了,这能忍?
于是查询了一些资料,在github上发现了一个很有用有用有用的项目,可以实现代理https的转发,
链接如下:
[https://github.com/chobits/ngx_http_proxy_connect_module]
该项目部署操作也一并说明了,但是有一些基础设置略过了,导致实际配置不太连贯,这里重新整理补充一下并亲测可用,在这个过程中我会把一些必要且我知道原因操作解释一下,说得不对恳请给予指正
环境:
IP:172.16.1.3
centos7.8(其他版本应该也可以)
[nginx1.19](http://nginx.org/download/nginx-1.9.2.tar.gz)(我使用的是该版本,但实际上该项目1.13部分以及以后的版本,但需对应不同的patch包)
操作目录:/tmp/
操作步骤:
1、安装git命令工具,为了可以拉去github上的代码,然后开始拉代码
yum install -y git
git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
2、安装patch工具和编译工具
yum install -y patch pcre pcre-devel gcc
3、下载nginx,进行patch,编译并安装
3.1下载nginx-1.19,解压并进入目录
wget http://nginx.org/download/nginx-1.19.9.tar.gz
tar -xzf nginx-1.19.9.tar.gz
cd nginx-1.19.9
3.2打上补丁包patch、编译、安装
patch -p1 < /tmp/ngx_http_proxy_connect_module/patch/proxy_connect.patch
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/tmp/ngx_http_proxy_connect_module(这里的prefix是实际nginx应用的目录,可更改;)
make && make install
4、更改nginx.conf配置,这里是我的配置,其上搭了一个本地yum源,加上后面的代理监听端口,所以有两个server,如果不需要本地监听80的可以整段去掉。另外、resolver所指定的域名服务器,建议使用本地域的dns服务器,避免使用代理时内网域名无法解析
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_l