溫馨提示×

Ubuntu Nginx SSL證書安裝步驟

小樊
39
2025-09-13 06:22:36
欄目: 云計算

以下是在Ubuntu上為Nginx安裝SSL證書的步驟,分為手動安裝和Let’s Encrypt自動安裝兩種方式:

一、手動安裝(適用于購買或自簽名證書)

  1. 安裝Nginx和OpenSSL

    sudo apt update
    sudo apt install nginx openssl
    
  2. 獲取證書文件

    • 購買證書:從CA獲取certificate.crt(證書)和private.key(私鑰)。
    • 自簽名證書(測試用):
      sudo mkdir -p /etc/nginx/ssl
      sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
        -keyout /etc/nginx/ssl/selfsigned.key \
        -out /etc/nginx/ssl/selfsigned.crt
      
  3. 配置Nginx
    編輯站點配置文件(如/etc/nginx/sites-available/example.com):

    server {
        listen 443 ssl;
        server_name example.com www.example.com;
        ssl_certificate /etc/nginx/ssl/certificate.crt;
        ssl_certificate_key /etc/nginx/ssl/private.key;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!MD5;
        location / {
            root /var/www/html;
            index index.html;
        }
    }
    # 強制HTTP跳轉HTTPS(可選)
    server {
        listen 80;
        server_name example.com www.example.com;
        return 301 https://$host$request_uri;
    }
    
  4. 測試并重啟Nginx

    sudo nginx -t  # 測試配置語法
    sudo systemctl reload nginx  # 重啟服務
    
  5. 驗證SSL
    瀏覽器訪問https://example.com,檢查是否顯示安全鎖標志。

二、Let’s Encrypt自動安裝(推薦)

  1. 安裝Certbot

    sudo apt update
    sudo apt install certbot python3-certbot-nginx
    
  2. 獲取并配置證書

    sudo certbot --nginx -d example.com -d www.example.com
    

    按提示選擇域名,Certbot會自動修改Nginx配置并啟用HTTPS。

  3. 設置自動續訂
    Certbot默認添加定時任務,可手動測試續訂:

    sudo certbot renew --dry-run
    

關鍵說明

  • 證書路徑:手動安裝時需將證書文件放在/etc/nginx/ssl/目錄(可自定義),Let’s Encrypt證書路徑為/etc/letsencrypt/live/域名/。
  • 協議優化:建議使用TLSv1.2 TLSv1.3,禁用不安全的SSLv3等舊協議。
  • 防火墻:確保服務器開放443端口:
    sudo ufw allow 'Nginx Full'
    

參考來源:

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女