本來安裝 ssl 不難,但不同平台的流程不太一樣,又加上這次是主機是用 Nginx沒碰過,所以打了這篇工作紀錄,明年又要來搞一次記下來下次就不會浪費這麼多時間了…
ssl 平台:https://www.ssls.com/
登入後 進入 ssl.com/user/bundles
中的 my ssl
name =>PositiveSSL@www.yourdomain.com 點選 ACTIVATE
複製產生CSR指令 請在你的主機上執行該指令
執行後會產生兩個檔案 yourdomain.csr yourdomain.pem
將 yourdomain.csr 貼到 網站輸入框 按下一步
接著你可以選擇 驗證網域 方式有兩種一種是驗證email所有權,另一種是上傳檔案到指定目錄來驗證我是選擇後者
選擇後他會請你下載一個 xxx.txt
你必需將此檔案放在 根目錄下 舉例 /var/www/html 新增 .well-known 資料夾 切換到 .well-known 再新增 pki-validation 資料夾
將 xxx.txt 放置在 pki-validation 在此資料夾中
測試是否可正常開啟該連結 http://yourdomain/.well-known/pki-validation/xxx.txt
如果不行需開啟權險
我主機是 nginx
指令: nano /etc/nginx/sites-available/yourdomain
在server { 這裡面 } 加上
location /.well-known/pki-validation {
alias /var/www/html/.well-known/pki-validation;
}
網域所有權驗證成功後 就會出現Download鈕 按下載後會有三個檔案 yourdomain.ca-bundle / yourdomain.crt /yourdomain.p7b
請新增一個檔案 bundle.crt 將 yourdomain.ca-bundle / yourdomain.crt 裡面的內容都新增在該文件中
接下來我們需要有private.key 但之前網站上的產生CSR指令 產生的是 yourdomain.pem 我們需要將此檔案轉成 .key 格式
指令:openssl rsa -in yourdomain.pem -out private.key
執行完成就會自動產生 private.key 檔
Nginx 設定
指令: nano /etc/nginx/sites-available/yourdomain
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name www.yourdomain.com ww.yourdomain.com w.yourdomain.com yourdomain.com;
ssl on;
ssl_certificate /etc/nginx/ssl/yourdomain/bundle.crt;
ssl_certificate_key /etc/nginx/ssl/yourdomain/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:5m;
}
加到 sites-enabled
指令: ln -s /etc/nginx/sites-available/yourdomain /etc/nginx/sites-enabled/yourdomain
都設定完成後就可以重啟 nginx
指令:service nginx restart
參考連結:
https://www.ssls.com/knowledgebase/how-can-i-complete-the-domain-control-validation-for-my-ssl-certificate/#http
https://www.ssls.com/knowledgebase/how-to-install-an-ssl-certificate-on-a-nginx-server/
Nginx包在darker後安裝在Ubuntu,可協助做域名SSL認證設定嗎?
已私訊