1. 程式人生 > >在CentOS下使用Let's Encrypt獲取證書

在CentOS下使用Let's Encrypt獲取證書

在CentOS下使用Let’s Encrypt獲取證書

環境

-CentOS 6.5
-Apache Tomcat 7.0.81
-Apache httpd 2.2.15
-Python 2.6.6

步驟

1.從Certbot中獲取指令碼檔案,並將其設定成可執行

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

2.編寫一個配置檔案

可以為Let’s encrypt新建一個目錄,我新建的目錄位於/etc/letsencrypt/,並將配置檔案存放於/etc/letsencrypt/config/demo.com.conf(改成自己的域名)中,內容如下所示:

domains = demo.com
rsa-key-size = 3072
email = [email protected]
text = True

authenticator = webroot
webroot-path = /var/www/html

其中的domain和email需要改成自己的域名以及用於從Let’s Encrypt接收證書資訊的郵箱,rsa-key-size推薦使用2048或者3072。

3.配置本地網站

上面的authenticator代表Let’s Encrypt的認證方式,webroot代表Let’s encrypt會通過註冊的域名訪問本地伺服器的方式進行認證,後面的webroot-path引數代表本地伺服器的根地址。這裡我使用的是httpd預設的根地址/var/www/html。
之後需要啟動httpd伺服器(certbot指令碼不會自動啟動本地伺服器),使用httpd -k start命令,如果訪問

http://localhost 成功則說明本地伺服器已經成功啟動。

4.獲取證書

sudo ./certbot-auto -c /etc/letsencrypt/configs/demo.com.conf certonly

出現”Congratulations”即說明已經成功獲取證書。如果之前出現失敗,則有可能出現“Too many failed authentications recently”,此時需要檢查之前的步驟,更正配置之後,間隔一段時間再重新獲取。

5.配置證書

現在證書和私鑰就位於/etc/letsencrypt/live/demo.com/目錄下。
如果使用Tomcat 的Apr模式進行配置的話:

<Connector
    port = "443"
    protocol = "org.apache.coyote.http11.Http11AprProtocol"
    maxThreads = "150"
    SSLEnabled = "true"
    scheme = "https"
    secure = "true"
    clientAuth = "false"
    sslProtocol = "TLS"
    SSLCertificateFile = "/etc/letsencrypt/live/demo.com/cert.pem"
    SSLCertificateKeyFile = "/etc/letsencrypt/live/demo.com/privkey.pem"
    SSLCertificateChainFile = "/etc/letsencrypt/live/demo.com/chain.pem"
></Connector>

之後就可以安全的使用https了。