文章彙整

使用Letsencrypt時的注意事項

By Astral Web 2 years agoNo Comments
首頁  /  網站設計與開發  /  使用Letsencrypt時的注意事項

Letsencrypt

 

以下內容以伺服器主機作業系統為Linux,使用Nginx為前提來進行設定,這邊說明的是在已完成https的設定,若是如何在伺服器使用Letsencrypt簽署SSL,請參考讓網頁連線加密(https)!如何讓網頁伺服器取得免費SSL憑證(Let’sencrypt)

 

以下的範例設定若字體為藍色請參考您自己的設定檔檔名或路徑修改。

 

  • 如何保護隱藏資料夾,但不影響auto renew。

 

在Linux的作業系統下,隱藏的檔案或目錄會以半形”點”為首字命名,多半是系統檔案或重要檔案,所以在管理網站時,也應注意若網站資料夾內含有”點”的隱藏檔案或資料夾,不應讓人可以讀取內容。

 

但是現在問題是有簽署過Letsencrypt憑證的人會知道,簽證時會要求要提供驗證的的網址,例:

http://www.astralweb.com.tw/.well-known/acme-challenge

 

所以首先,在你的網站設定檔加上設定(或是取消註解):

 

/etc/nginx/sites-available/sample.com.conf(你的網站設定檔)

# "點" 開頭的任何訪問都禁止

location ~ /\. {
       deny all;
}

...

 

 

然後請注意這個設定位置,必須加在保護隱藏檔設定的上方(若在下方設定會被取消無效):

 

/etc/nginx/sites-available/sample.com.conf

...

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


location ~ /\. {
       deny all;
}

...

 

之後nginx reload即可。

 

  • 如何設定讓http轉址至https

 

會討論這個問題是因為,想要讓簽證的網址保持http,但https時不通過該如何設定。

 

首先請參考這個範例設定檔,以完全只考慮https訪問為例:

 

/etc/nginx/sites-available/sample.com.conf

server{
       listen 80;

       server_name sample.com;
       root /var/www/sites/sample.com;


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


       location ~ /\. {
               deny all;
       }
}

server {
       server_name sample.com;
       root /srv/www/sites/sample.com;

       listen 443 ssl;

       ssl_certificate /etc/letsencrypt/live/sample.com/fullchain.pem;
       ssl_certificate_key /etc/letsencrypt/live/sample.com/privkey.pem;
…

}

 

將301轉址的語法加入在server 80最下方完成:

 

/etc/nginx/sites-available/sample.com.conf

server{
       listen 80;

       server_name sample.com;
       root /srv/www/sites/sample.com;


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


       location ~ /\. {
               deny all;
       }


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

}
  • 如何讓autorenew略過confirm

 

會有這個問題是因為之前Letsencrypt的授權聲明有更新,要認證時多出一個詢問的動作,因此直接renew時會因為無法許可授權而無法繼續,因此需要加一個預設允許通過的參數。

 

不過授權聲明的部份還是建議花點時間了解一下內容。

 

增加參數這個部分就簡單多了,如果以上的路徑設定都沒問題,請打開之前寫的renew‑letsencrypt.sh(請參考此篇的第6點):

 

renew‑letsencrypt.sh
...
./letsencrypt-auto --config /test/ssl/configs/sample.com.conf certonly --renew-by-default
...

 

資料來源

 

https://letsencrypt.tw/

https://github.com/LCTT/TranslateProject/blob/master/published/201511/LetsEncrypt.md

 

以上內容由Astralweb 歐斯瑞編寫製作

 000

推薦文章

Category:
  網站設計與開發

留下回應

你的電子郵件地址不會被公開.

取得獨家電子商務祕技

建立更好的策略靈感

跟上全球的網路趨勢

絕佳的電商解決方案

電子商務戰略全指南

每月發送電商戰略指南,只要填寫E-mail即可訂閱!

請到您的信箱確認,即可完成訂閱。