一、寶塔面板與Letsencrypt泛域名
寶塔面板是一款非常流行的服務器運維管理軟件,它為我們提供了很多便利。其中之一就是它可以方便地集成Letsencrypt泛域名證書,讓我們的網站免費支持HTTPS。
1、寶塔面板的安裝和配置
// 安裝寶塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
依次選擇 LEMP 或 LAMP 或 TP + Nginx 或 TP + Apache 環境即可
2、開啟並配置Letsencrypt泛域名
// 開啟 SSL
cd /www/server/panel/ && ./bin/panel ssl
輸入郵箱、接受條款、輸入確認域名即可完成Let’s Encrypt SSL證書的申請
3、自動續簽
保證證書不會自動過期,我們需要設置一個自動續簽的計劃任務,每天執行一次。
// 打開計劃任務,添加以下命令,確保寶塔面板目錄下的腳本執行即可
crontab -e
0 0 * * * /www/server/panel/acme.pl -f
二、Letsencrypt泛域名自動續簽
自動續簽是保證證書長期有效的重要步驟。以下是自動續簽的詳細步驟:
1、安裝certbot腳本
// 依次執行以下命令即可
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
2、制定任務計劃
// 依次執行以下命令
crontab -e
# 每天10點執行續期腳本,續期成功後重啟nginx
0 10 * * * /usr/local/bin/certbot-auto renew --quiet --no-self-upgrade --renew-hook "systemctl reload nginx"
三、使用雙波束負載均衡
在使用Letsencrypt泛域名時,我們可以使用雙波束負載均衡策略來提高性能和可靠性。
1、安裝和配置
// 安裝Nginx和keepalived
yum install nginx keepalived -y
// 配置雙波束負載均衡
cat > /etc/keepalived/check_letsencrypt_ssl.sh <<EOF
#!/bin/bash
hostname=\$(hostname)
domain=\$(echo \$hostname | cut -d '.' -f2-)
/path/to/certbot-auto renew
systemctl reload nginx
EOF
chmod +x /etc/keepalived/check_letsencrypt_ssl.sh
cat > /etc/keepalived/keepalived.conf <<EOF
global_defs {
router_id LB1
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 50
priority 100
advert_int 1
authentication {
auth_type pass
auth_pass PASSWORD
}
virtual_ipaddress {
VIRTUAL-IP
}
track_script {
check_letsencrypt_ssl
}
}
virtual_server VIRTUAL-IP 80 {
delay_loop 6
lb_algo wlc
lb_kind DR
persistence_timeout 50
protocol TCP
real_server SERVER1 80 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
real_server SERVER2 80 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
}
EOF
systemctl start keepalived
2、測試負載均衡
我們可以使用 ab 命令模擬並發請求來測試負載均衡的性能。
// 安裝ab命令
yum install -y httpd-tools
// 模擬1000個並發請求,請求持續30秒,請求的目標是我們配置的虛擬IP
ab -n 1000 -c 1000 -k -r http://VIRTUAL-IP/ -T text/html -g data.txt
四、結合Docker使用Letsencrypt泛域名
使用Docker可以更加方便地使用Letsencrypt泛域名證書,使我們的開發、測試和生產環境更加一致。
1、安裝和配置docker-compose
// 安裝docker和docker-compose
yum install -y docker docker-compose
// 開啟docker服務
systemctl start docker
2、編寫docker-compose.yml配置文件
version: "3.3"
services:
nginx:
image: nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./logs:/var/log/nginx
- ./www:/usr/share/nginx/html
- ./letsencrypt:/etc/letsencrypt/live
- ./dhparams.pem:/etc/nginx/dhparams.pem
ports:
- "80:80"
- "443:443"
certbot:
image: certbot/certbot
volumes:
- ./letsencrypt:/etc/letsencrypt
- ./www:/var/www
- ./logs:/var/log/nginx
command: certonly --webroot --webroot-path=/var/www --email EMAIL --agree-tos -d DOMAIN
3、啟動Docker容器
// 啟動Docker容器
docker-compose up -d
總結
Letsencrypt泛域名為我們提供了免費的SSL證書服務,使我們的網站免費支持HTTPS。在使用過程中,我們可以通過寶塔面板方便地開啟和配置證書,並使用自動續簽功能保證證書長期有效。我們也可以通過雙波束負載均衡和Docker容器來提高性能和可靠性。一句話:免費好用,推薦使用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/300432.html