Nginx 代理通过 SSL 验证

Mr *_*yde 4 nginx proxypass

我正在使用 proxy_pass 指令到上游 https 服务器。代理服务器适用于 LAN 客户端。上游 https 服务器使用 LetsEncrypt。如何配置 SSL 验证?

proxy_pass https://upstream.backend
proxy_verify_ssl on;
proxy_ssl_trusted_certificate <which_file_is_supposed_to_be_here>;
proxy_ssl_verify_depth <what_number_here>;
Run Code Online (Sandbox Code Playgroud)

Mic*_*ton 5

状态的proxy_ssl_trusted_certificate文档:

指定file具有 PE​​M 格式的可信 CA 证书,用于验证代理 HTTPS 服务器的证书。

由于您正在验证公共 TLS 证书,因此您可以将其指向系统的 CA 证书包。默认情况下,在 Red Hat 派生系统上,这是/etc/pki/tls/certs/ca-bundle.crt/etc/pki/tls/certs/ca-bundle.trust.crt。如果您出于某种原因不使用 Red Hat 派生系统作为 Web 服务器,您的位置可能会有所不同。

如果需要,您还可以单独下载 Let's Encrypt 的 CA 证书,将其放在文件系统的某个位置,然后指向它。