域名解析到 Nginx,再通过 Nginx 代理到 slb
- 0次
- 2021-06-28 05:40:35
- idczone
域名解析到 Nginx,再通过 Nginx 代理到 slb,目前证书在 SLB 配置的。请问下如果通过 https 访问的话,Nginx 还需要配置证书吗?
你的 SLB 是内网的还是公网的?
一般都是把 SSL 证书丢到最外层的,
最外层如果是公网 SLB,那直接证书挂上去就可以了。
如果最外层是 NGINX,那就挂 nginx 上。
不过 SLB 对 https 性能调优不太友好,如果想自己优化性能,可以自己做 HTTPS nginx 配置优化。不过应用规模不大的话,SLB 的 SSL 性能已经够用了。
在最外层配置 HTTPS,后面都用 http,这样最好
也可以最外层用 HAproxy,v1.5 开始它也可以直接绑 SSL 证书,提供 HTTPS,向后端继续打 http
你要非要 nginx 到 slb,那么 看看 nginx 是否支持 裸 tcp 转发形式( HAproxy v1.5 之前想要走 https 唯有这样) 直接把 https 请求转给后段 https 的 slb
nginx 支持 tcp 负载均衡
没看懂为什么要多一层 NGINX
一般都是 slb 直接到机器吧?不需要统一接入,没必要有一层 nginx。
因为这个 nginx 是第三方的,平时不用,作为备用来防止 DDOS
1. nginx + stream,不需要证书和私钥
2. nginx + stream + sni proxy,不需要证书和私钥
3. nginx + http proxy,需要证书和私钥
4. nginx + http Proxy + keyless,需要证书不需要私钥
就防 DDoS 来说,效果最好是第 3 种,对请求、连接的卸载比较好
1, 2 两种,其实和 NAT 的技术差不多,两边的连接是对称的
4 需要修改 OpenSSL,如果是第三方防 DDoS 的,得他们来支持,可能你的 key server 是瓶颈
按道理来说应该是域名解析到哪里哪里就配 https 证书
ssl 卸载,很多业务系统这样子,外网去访问是 https 的,他们自己内网前端设备解密了交给后面的服务器。
ngx_stream_core_module,或许有用