在 Debian 系统上配置 Nginx 使用 SSL 证书的步骤如下:
1. 安装 OpenSSL
首先,确保你的系统上已经安装了 OpenSSL。如果没有安装,可以使用以下命令进行安装:
sudo apt-get update sudo apt-get install openssl -y
2. 生成私钥
使用以下命令生成一个 2048 位的 RSA 私钥。你可以根据需要自定义私钥的名称。
openssl genpkey -algorithm rsa -out private.key -aes256
系统会提示你设置私钥的密码,请妥善保管。
3. 生成证书签名请求 (CSR)
使用以下命令生成 CSR。同样,你可以根据需要自定义 CSR 的名称。
openssl req -new -key private.key -out csr.csr
系统会提示你输入国家、省份、城市、组织等信息。
4. 生成自签证书
使用以下命令生成自签证书。你可以根据需要自定义证书的名称。
openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt
系统会提示你输入私钥的密码。
5. 验证证书
使用以下命令验证证书内容:
openssl x509 -in certificate.crt -text -noout
6. 配置 Nginx 使用 SSL 证书
编辑 Nginx 配置文件,通常位于 /etc/nginx/sites-available/
目录下。创建或编辑服务器块,添加以下内容:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name your_domain.com; # 替换为你的域名 ssl_certificate "/path/to/your/certificate.crt"; # 替换为你的证书路径 ssl_certificate_key "/path/to/your/private.key"; # 替换为你的私钥路径 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_ciphers AES128+EECDH:AES128+EDH:!aNULL; ssl_prefer_server_ciphers on; # 其他配置... }
7. 重启 Nginx
保存配置文件后,重启 Nginx 以应用更改:
sudo systemctl restart nginx
8. 强制 HTTP 跳转 HTTPS(可选)
为了确保所有流量都通过 HTTPS 传输,你可以在 Nginx 配置中添加重定向规则。编辑 Nginx 配置文件,通常位于 /etc/nginx/sites-available/
目录下,在 server
块中添加以下内容:
server { listen 80; server_name your_domain.com; # 替换为你的域名 location / { return 301 https://$host$request_uri; } # 其他配置... }
保存配置文件后,重启 Nginx 以应用更改:
sudo systemctl restart nginx
完成以上步骤后,你的 Debian 系统上的 Nginx 就已经配置好 SSL 证书,可以通过 HTTPS 访问了。请确保将 your_domain.com
替换为你实际使用的域名,并将路径设置为实际的证书和私钥文件路径。