默认开源版本的nginx是不支持代理https请求的,如果要实现这个功能,需要第三方模块
https://github.com/chobits/ngx_http_proxy_connect_module
这个模块没有使用https证书,为什么能够代理https请求,是因为采用了隧道代理。隧道代理,也就是透传代理,代理服务器只是在TCP协议上透传HTTPS流量,对于其代理的流量的具体内容不解密不感知。客户端和其访问的目的服务器做直接TLS/SSL交互。本文中讨论的NGINX代理方式属于这种模式。
13.1 下载安装模块
1、下载补丁
首先要到https://github.com/chobits/ngx_http_proxy_connect_module找到对应nginx版本的补丁