Nginx 配置 SSL(HTTPS)是一个相对直接的过程,主要涉及生成 SSL 证书和私钥,然后在 Nginx 配置文件中指定这些文件。以下是一个详细的步骤和代码示例:
步骤一:获取 SSL 证书和私钥
你可以从多个证书颁发机构(CA)购买 SSL 证书,或者使用免费的证书,如 Let's Encrypt。以下是一个使用 OpenSSL 生成自签名证书和私钥的示例:
# 生成私钥
openssl genrsa -des3 -out ssl.key 2048
# 生成证书请求
openssl req -new -key ssl.key -out ssl.csr
# 使用私钥和证书请求自签名证书,有效期10年
openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt
这将生成三个文件:ssl.key(私钥),ssl.csr(证书请求),和 ssl.crt(自签名证书)。在生产环境中,你通常会使用由证书颁发机构签发的证书,而不是自签名证书。
步骤二:配置 Nginx
打开 Nginx 的配置文件,通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf,然后找到需要配置 SSL 的 server 块。在该块中,你需要设置 ssl_certificate 和 ssl_certificate_key 指令,分别指向你的 SSL 证书和私