溫馨提示×

nginx在ubuntu上ssl證書如何安裝

小樊
44
2025-09-17 06:06:43
欄目: 云計算

在Ubuntu上為Nginx安裝SSL證書,你可以選擇使用Let’s Encrypt免費證書或者購買一個SSL證書。以下是使用Let’s Encrypt安裝SSL證書的步驟:

使用Let’s Encrypt安裝SSL證書

1. 安裝Certbot

Certbot是一個自動化的工具,用于獲取和續訂Let’s Encrypt證書。

sudo apt update
sudo apt install certbot python3-certbot-nginx

2. 獲取SSL證書

運行Certbot來獲取SSL證書。你需要提供你的域名和郵箱地址。

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

Certbot會自動配置Nginx并添加SSL證書。它會提示你輸入郵箱地址,并詢問是否要重定向HTTP流量到HTTPS。

3. 驗證配置

Certbot會自動驗證你的Nginx配置是否正確。如果一切正常,它會重新加載Nginx。

sudo nginx -t

4. 續訂證書

Let’s Encrypt證書通常有效期為90天。Certbot會自動設置一個cron任務來提醒你續訂證書。

你可以手動測試續訂過程:

sudo certbot renew --dry-run

如果沒有問題,Certbot會顯示續訂成功的信息。

手動安裝SSL證書

如果你選擇手動安裝SSL證書,你需要從證書頒發機構(CA)獲取以下文件:

  • 域名證書(通常是.crt文件)
  • 私鑰(通常是.key文件)
  • 中間證書(如果有)

1. 備份現有的Nginx配置

在修改Nginx配置之前,建議備份現有的配置文件。

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak

2. 配置Nginx

編輯Nginx配置文件,添加或修改SSL相關的配置。

sudo nano /etc/nginx/sites-available/default

添加以下內容:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;

    ssl_certificate /path/to/your/fullchain.pem;
    ssl_certificate_key /path/to/your/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    # 其他配置...
}

/path/to/your/fullchain.pem/path/to/your/privkey.pem替換為你實際的證書和私鑰路徑。

3. 測試Nginx配置

確保Nginx配置文件沒有語法錯誤。

sudo nginx -t

4. 重新加載Nginx

如果配置文件沒有問題,重新加載Nginx以應用更改。

sudo systemctl reload nginx

5. 手動續訂證書

如果你手動安裝了證書,你需要手動續訂證書。Certbot提供了手動續訂的命令:

sudo certbot renew --manual --preferred-challenges http --http-01-port 80

按照提示操作,Certbot會驗證你的域名并更新證書。

通過以上步驟,你可以在Ubuntu上為Nginx安裝SSL證書。

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