發表於4月8日4月8日 安裝 acme.sh 做自動續簽SSL憑證 (更改為Google SSL憑證)這幾天關掉CF CDN,發現論壇被擋掉,瀏覽器顯示什麼錯誤訊息原來是Let's Encrypt SSL憑證不能用了https://github.com/acmesh-official/acme.shLetsencrypt.org CA 沒有支援了我想想還是換為名氣大的Google SSL憑證1.到Google網站,建立 專案 (projects),並記住它的專案IDhttps://console.cloud.google.com/home/dashboard2.進入Cloud Shell 終端機 執行以下指令 gcloud projects add-iam-policy-binding 你的專案ID \ --member=user:你的電子郵件位址 \ --role=roles/publicca.externalAccountKeyCreator2.启用 Public CA API gcloud services enable publicca.googleapis.com 3.要求 EAB 密鑰 和 HMAC 雜湊式訊息驗證碼,請執行下列指令: gcloud publicca external-account-keys create 這個指令會傳回在 Public CA 的正式版環境中有效的 EAB 密碼。在回應主體中,keyId 欄位包含 EAB 金鑰 ID,b64MacKey 欄位則包含 EAB HMAC。 您必須在取得 EAB 密鑰後的 7 天內使用。如果未在 7 天內使用 EAB 密鑰,該密鑰就會失效。使用 EAB 密鑰註冊的 ACME 帳戶不會過期。還原為實際工作環境的端點,請執行下列指令 如果你不是使用Google雲主機做論壇,在此就準備關掉瀏覽器Cloud Shell此頁面 gcloud config unset api_endpoint_overrides/publicca4.在你論壇的伺服器,SSH連入 mkdir -p /var/www/域名.com/well-known mkdir -p /var/www/域名.com/well-known/acme-challenge cd /var/www/域名.com/ mv well-known .well-known 產生dhparam mkdir -p /etc/nginx/ssl openssl dhparam -dsaparam -out /etc/nginx/ssl/dhparam 2048 ------------------------------------- acme.sh 預設安裝在/root/ 目錄 ------------------------------------- curl https://get.acme.sh | sh -s email=你的電子郵件位址 重新載入 source ~/.bashrc 自動更新 acme.sh --upgrade --auto-upgrade 切換為使用 google ca acme.sh --set-default-ca --server google 修改 域名.com.conf vi /etc/nginx/sites-available/域名.com.conf 前面步驟有寫了幾行,現在都刪掉,更換為 server { listen 80; listen [::]:80; root /var/www/域名.com; index index.html index.htm index.php; server_name 域名.com; location /.well-known/acme-challenge { root /var/www/google; } location / { rewrite ^/(.*)$ https://$host/$1 permanent; } } ESC儲存並離開 :wq 重新載入Nginx nginx -t nginx -s reload 在acme.sh註冊帳號 acme.sh --register-account -m email --server google \ --eab-kid 輸入你的keyId \ --eab-hmac-key 輸入你的b64MacKey 正確的話,顯示如下 Account key creation OK. Registering account: https://dv.acme-v02.api.pki.goog/directory Registered ACCOUNT_THUMBPRINT 接下來 mkdir -p /var/www/google 使用HTTP驗證簽發憑證 如果要申請多個域名,則是執行 acme.sh --issue -d 域名.com -d www.域名.com -w /var/www/google 等待執行完 直到出現 Cert success Your cert is in: /root/.acme.sh/域名.com_ecc/域名.com.cer Your cert key is in: /root/.acme.sh/域名.com_ecc/域名.com.key The intermediate CA cert is in: /root/.acme.sh/域名.com_ecc/ca.cer And the full-chain cert is in: /root/.acme.sh/域名.com_ecc/fullchain.cer 從上面得知,這是ECC憑證 安裝ECC憑證 acme.sh --install-cert --ecc -d 域名.com \ 依次敲入 --key-file /etc/nginx/ssl/域名.com.key \ --fullchain-file /etc/nginx/ssl/fullchain.cer \ --reloadcmd "systemctl restart nginx" 成功的話,將顯示 Run reload cmd: systemctl restart nginx Reload success 本文章最後於7月13日7月13日,由Jack編輯
7月13日7月13日 樓主 這幾天關掉CF CDN,發現論壇被擋掉,瀏覽器顯示什麼錯誤訊息原來是Let's Encrypt SSL憑證不能用了https://github.com/acmesh-official/acme.shLetsencrypt.org CA 沒有支援了我想想還是換為名氣大的Google SSL憑證
建立帳號或登入後發表意見