溫馨提示×

如何在Debian上為Laravel配置SSL證書

小樊
57
2025-03-25 05:38:12
欄目: 云計算

在Debian上為Laravel配置SSL證書可以通過以下步驟完成。我們將使用Let’s Encrypt提供的免費SSL證書。以下是詳細步驟:

1. 安裝Certbot

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

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

2. 獲取SSL證書

假設你的域名是example.com,運行以下命令來獲取證書:

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

Certbot會自動配置Nginx以使用SSL證書,并提示你輸入電子郵件地址和同意條款。

3. 配置Nginx

Certbot會自動修改你的Nginx配置文件,通常位于/etc/nginx/sites-available/example.com。確保配置文件中有以下內容:

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

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

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

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

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    root /var/www/html;
    index index.php index.html index.htm;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根據你的PHP版本調整
    }

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
}

4. 重啟Nginx

保存配置文件后,重啟Nginx以應用更改:

sudo systemctl restart nginx

5. 驗證SSL配置

打開瀏覽器并訪問https://example.com,你應該能看到一個綠色的鎖圖標,表示SSL證書已正確安裝。

6. 自動續訂證書

Let’s Encrypt證書每90天需要續訂一次。Certbot會自動處理續訂過程,但你可以手動測試續訂:

sudo certbot renew --dry-run

如果沒有錯誤,你可以設置一個cron任務來自動續訂證書:

sudo crontab -e

添加以下行:

0 0,12 * * * certbot renew --post-hook "systemctl reload nginx"

這會在每天午夜和中午檢查并續訂證書,如果證書被更新,會自動重新加載Nginx。

通過以上步驟,你就可以在Debian上為Laravel項目配置SSL證書了。

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