如何在 QNAP NAS 上更新 SSL 憑證
How to Update SSL Certificates on QNAP NAS
為了提升網站或服務的安全性,定期更新 SSL 憑證至關重要。如果您在使用 QNAP NAS 作為伺服器,本文將示範如何通過腳本快速更新 SSL 憑證。
前置作業
-
新的 SSL 憑證與私密金鑰:
確保您已獲取新的 SSL 憑證(例如cert.crt
)與對應的私密金鑰(例如private.key
)。 -
Bash 腳本:
下方的腳本將協助您完成憑證的備份與更新。 -
QNAP 管理權限:
確保您有 NAS 的admin
權限,並能使用 SSH 登入 QNAP 系統。
腳本內容
以下是用於更新 QNAP SSL 憑證的 Bash 腳本:
#!/bin/bash
# Variables
CERT_DIR="/etc/stunnel" # 預設的憑證目錄
NEW_CERT="/path/to/new/cert.crt" # 新的憑證路徑
NEW_KEY="/path/to/new/private.key" # 新的私密金鑰路徑
BACKUP_DIR="/etc/stunnel/backup" # 備份目錄
TIMESTAMP=$(date +%Y%m%d%H%M%S)
# 建立備份目錄(如果不存在)
if [ ! -d "$BACKUP_DIR" ]; then
mkdir -p "$BACKUP_DIR"
echo "已建立備份目錄:$BACKUP_DIR"
fi
# 備份現有憑證與金鑰
echo "備份現有的憑證與金鑰..."
cp "$CERT_DIR/stunnel.pem" "$BACKUP_DIR/stunnel.pem.bak.$TIMESTAMP"
if [ $? -eq 0 ]; then
echo "備份成功完成。"
else
echo "備份失敗,腳本結束。"
exit 1
fi
# 合併新的憑證與私密金鑰
echo "合併新的憑證與金鑰為 stunnel.pem..."
cat "$NEW_CERT" "$NEW_KEY" > "$CERT_DIR/stunnel.pem"
if [ $? -eq 0 ]; then
echo "成功合併憑證與金鑰。"
else
echo "合併過程失敗,腳本結束。"
exit 1
fi
# 設定正確的權限
echo "設定 stunnel.pem 的權限..."
chmod 600 "$CERT_DIR/stunnel.pem"
chown admin:administrators "$CERT_DIR/stunnel.pem"
if [ $? -eq 0 ]; then
echo "權限設定成功。"
else
echo "權限設定失敗,腳本結束。"
exit 1
fi
# 重新啟動服務以應用新的憑證
echo "重新啟動 QNAP 的 Web 伺服器服務..."
/etc/init.d/stunnel.sh restart
/etc/init.d/Qthttpd.sh restart
if [ $? -eq 0 ]; then
echo "SSL 憑證已更新,服務成功重啟。"
else
echo "服務重啟失敗,請檢查系統日誌。"
exit 1
fi
echo "SSL 憑證更新完成。"
留言
張貼留言