场景:一个只监听 HTTP 的内部服务(这里以 Jenkins 为例),想在前面套一层 Nginx 做 HTTPS,让外部走 443 加密访问,后端继续跑明文 HTTP。
准备证书
需要一张带完整证书链的证书——服务器证书 + 中间证书 + 根证书拼成一个文件。自签或找内部 CA 签都行,关键是链要完整,否则后面 SSL 握手会出问题(见末尾排查)。
只让本机访问后端(可选)
为了不让别人绕过 Nginx 直接打后端的 HTTP 端口,可以把后端只绑到 127.0.0.1。以 Jenkins 为例,启动时限定监听地址: