新版說(shuō)明
安裝方法
如果是CentOS 6,先執(zhí)行:yum install epel-release
wget https://dl.eff.org/certbot-auto --no-check-certificate
chmod +x ./certbot-auto
./certbot-auto -n```
接下來(lái)就會(huì)自動(dòng)安裝所需的依賴包。
##生成證書(shū)
單域名生成證書(shū):
`./certbot-auto certonly --email username@domain --agree-tos --webroot -w /websiteroot -d domain`
多域名單目錄生成單證書(shū):
`./certbot-auto certonly --email username@domain --agree-tos --webroot -w /websiteroot -d domain1 -d domain2`
多域名多目錄生成多個(gè)證書(shū):
`./certbot-auto certonly --email admin@vpser.net --agree-tos --webroot -w /websiteroot1 -d domain1 -d domain2 -w /websiteroot2 -d domain3 -d domain4`
##證書(shū)更新
進(jìn)入Let's Encrypt目錄,執(zhí)行`./certbot-auto renew`即可,建議添加Cron。
#舊版說(shuō)明
##下載Let's Encrypt
首先把Let's Encrypt給git下來(lái)
git clone https://github.com/letsencrypt/letsencrypt.git
cd letsencrypt
無(wú)git時(shí)
wget -c https://github.com/letsencrypt/letsencrypt/archive/master.zip && unzip master.zip && cd letsencrypt-master
##創(chuàng)建臨時(shí)文件夾
mkdir -p /home/wwwroot/域名/.well-known/acme-challenge
##生成證書(shū)
./letsencrypt-auto certonly --email 郵箱 -d 域名 --webroot -w /網(wǎng)站目錄完整路徑 --agree-tos
##更新證書(shū)
cat >/root/renew-ssl.sh<<EOF
!/bin/bash
mkdir -p /網(wǎng)站目錄完整路徑/.well-known/acme-challenge
/root/letsencrypt/letsencrypt-auto --renew-by-default certonly --email 郵箱 -d 域名 --webroot -w /網(wǎng)站目錄完整路徑 --agree-tos
/etc/init.d/nginx reload
EOF
chmod +x /root/renew-ssl.sh
注意要修改上面letsencrypt-auto的路徑為你自己的,并且里面的郵箱和域名也要修改。
再crontab里添加上:0 3 */60 * * /root/renew-ssl.sh
#HTTPS配置
##Nginx新增部分
listen 443 ssl;
server_name my_server_name;
ssl_certificate /etc/letsencrypt/live/server_name/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/server_name/privkey.pem;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
##Apache新增部分
<VirtualHost *:443>
DocumentRoot index_Root //網(wǎng)站目錄
ServerName ServerName:443 //域名
ServerAdmin Email //郵箱
SSLEngine onSSLCertificateFile /etc/letsencrypt/live/ServerName/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ServerName/privkey.pem
<Directory "index_Root"> //網(wǎng)站目錄
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost>
#注:
1. 新增部分中,ServerName及相關(guān)路徑根據(jù)個(gè)人情況修改;
2. 本文非原創(chuàng),來(lái)自
http://www.vpser.net/build/letsencrypt-free-ssl.html
http://www.vpser.net/build/letsencrypt-certbot.html
#問(wèn)題解決:
1. 編譯錯(cuò)誤、創(chuàng)建虛擬環(huán)境失敗
解決:簡(jiǎn)單粗暴卸載python相關(guān)所有軟件,并且重新安裝SS之后就好了。但是,為毛……
2. 只允許HTTPS訪問(wèn)
server {
listen 80;
server_name my.domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name my.domain.com;
[....]
}
3. 國(guó)內(nèi)DNS不支持
解決:切換到國(guó)外