1.首先來說,須要實現nginx免證書代理,必需要啓用stream模塊。steam模塊只有在nginx1.9.0版本以後才支持。stream模塊用來實現四層協議的轉發、代理或者負載均衡等nginx
2.編輯nginx.cnf文件,在文件最後加入stream模塊的配置,而且能夠經過監聽不通端口代理轉發不一樣的服務器或域名。服務器
stream模塊用法和http模塊差很少,關鍵的是語法幾乎一致。負載均衡
例如:ide
stream{
server {
listen 0.0.0.0:443;
proxy_connect_timeout 20s;
proxy_timeout 6m;
proxy_pass sdk.xylink.com:443;
代理
}
server {
listen 0.0.0.0:8443;
proxy_connect_timeout 20s;
proxy_timeout 6m;
proxy_pass sina.cn:443;
server
}
server {
listen 0.0.0.0:9443;
proxy_connect_timeout 20s;
proxy_timeout 6m;
proxy_pass qq.com:443;
ip
}
}
域名
3.還須要說明的是,若是此時客戶端經過訪問nginx的IP去訪問被代理的https服務器,是會出現證書不受信任的提示。解決辦法就是在客戶端的hosts文件上增長nginx _ip 被訪問的域名(主機名)的解析,而且客戶端採起的是域名訪問的方式,而不是輸入nginx代理的方式。由於實際上SSL證書與域名有強綁定的關係。it