溫馨提示×

Ubuntu中Nginx SSL配置步驟是什么

小樊
36
2025-10-19 04:13:48
欄目: 云計算

Ubuntu中Nginx SSL配置步驟(以Let’s Encrypt免費證書為例)

1. 前提條件

確保服務器已安裝Nginx且正常運行,域名已解析到服務器IP地址。

  • 檢查Nginx狀態:sudo systemctl status nginx(若未安裝,運行sudo apt update && sudo apt install nginx安裝)。

2. 安裝Certbot工具(自動化證書管理)

Certbot是Let’s Encrypt的官方客戶端,可自動獲取和配置SSL證書。
運行以下命令安裝Certbot及Nginx插件:
sudo apt update && sudo apt install certbot python3-certbot-nginx

3. 獲取SSL證書

使用Certbot為域名生成免費證書,命令會自動處理證書申請、驗證及Nginx配置更新。
sudo certbot --nginx -d your_domain.com -d www.your_domain.com

  • -d參數指定域名(可同時添加主域名和子域名,如www)。
  • Certbot會自動檢測Nginx配置,提示是否啟用HTTP到HTTPS重定向(建議選擇“Yes”)。

4. 驗證證書配置

Certbot會自動修改Nginx配置文件(通常位于/etc/nginx/sites-available//etc/nginx/conf.d/),添加HTTPS監聽端口(443)及證書路徑。

  • 檢查配置文件語法:sudo nginx -t(若輸出“syntax is ok”,說明配置正確)。
  • 重新加載Nginx:sudo systemctl reload nginx(使配置生效)。

5. 驗證HTTPS訪問

在瀏覽器中訪問https://your_domain.com,若地址欄顯示鎖圖標,則表示SSL證書配置成功。

  • 可使用在線工具(如SSL Labs)檢測證書有效期、加密協議等安全性。

6. 設置證書自動續期

Let’s Encrypt證書有效期為90天,Certbot默認會添加定時任務(每天檢查),但需手動測試續期功能。
運行以下命令模擬續期:sudo certbot renew --dry-run(若無報錯,說明續期功能正常)。

補充:手動配置SSL證書(非Let’s Encrypt場景)

若已通過其他途徑(如購買商業證書)獲得證書文件,可按以下步驟手動配置:

  1. 上傳證書文件:將證書(.crt)、私鑰(.key)及中間證書(若有,.ca-bundle)上傳至服務器,建議存放在/etc/nginx/ssl/目錄(需手動創建)。
    sudo mkdir -p /etc/nginx/ssl/
    sudo cp your_domain.crt /etc/nginx/ssl/
    sudo cp your_domain.key /etc/nginx/ssl/
    sudo cp your_domain.ca-bundle /etc/nginx/ssl/  # 可選,中間證書
    
  2. 修改Nginx配置:編輯虛擬主機配置文件,添加HTTPS server塊及強制HTTP跳轉規則:
    # 強制HTTP跳轉到HTTPS
    server {
        listen 80;
        server_name your_domain.com www.your_domain.com;
        return 301 https://$host$request_uri;
    }
    
    # HTTPS配置
    server {
        listen 443 ssl;
        server_name your_domain.com www.your_domain.com;
    
        # 證書路徑
        ssl_certificate /etc/nginx/ssl/your_domain.crt;
        ssl_certificate_key /etc/nginx/ssl/your_domain.key;
        ssl_trusted_certificate /etc/nginx/ssl/your_domain.ca-bundle;  # 可選
    
        # SSL安全配置(推薦)
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
    
        # 網站根目錄
        root /var/www/your_domain;
        index index.html;
    
        location / {
            try_files $uri $uri/ =404;
        }
    }
    
  3. 測試并重載Nginx
    sudo nginx -t && sudo systemctl reload nginx

通過以上步驟,即可在Ubuntu服務器上為Nginx配置SSL證書,實現網站HTTPS加密訪問。

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