在 Debian 系統上配置 Nginx 使用 SSL 證書的步驟如下:
首先,確保你的系統上已經安裝了 OpenSSL。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt-get update
sudo apt-get install openssl -y
使用以下命令生成一個 2048 位的 RSA 私鑰。你可以根據需要自定義私鑰的名稱。
openssl genpkey -algorithm rsa -out private.key -aes256
系統會提示你設置私鑰的密碼,請妥善保管。
使用以下命令生成 CSR。同樣,你可以根據需要自定義 CSR 的名稱。
openssl req -new -key private.key -out csr.csr
系統會提示你輸入國家、省份、城市、組織等信息。
使用以下命令生成自簽證書。你可以根據需要自定義證書的名稱。
openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt
系統會提示你輸入私鑰的密碼。
使用以下命令驗證證書內容:
openssl x509 -in certificate.crt -text -noout
編輯 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;
# 其他配置...
}
保存配置文件后,重啟 Nginx 以應用更改:
sudo systemctl restart nginx
為了確保所有流量都通過 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 替換為你實際使用的域名,并將路徑設置為實際的證書和私鑰文件路徑。