acme.sh быстро реализует выпуск https-сертификата и автоматическое продление
с помощьюacem.sh
Чтобы быстро внедрить выпуск и обновление ssl-сертификата для всех доменов Let’s Encrypt, по сути, пять минут могут решить проблему.
Основное содержание этой статьи взято из официальной вики acme.sh, и все подчиняется официальным инструкциям:acme wiki
I. Этапы установки
1. Войдите на сервер
Войдите на сервер Linux, я буду использовать Centos в качестве примера для иллюстрации.
ssh xxx@xxx
# 切换root账号
su
2. Установкаacme.sh
yum install socat -y
curl https://get.acme.sh | sh
cd ~/.acme.sh/
3. Подать заявку на ключ
Перейдите к поставщику услуг по покупке доменного имени и подайте заявку на получение ключа API для последующей проверки записи txt.
DNSPod
После завершения ключевого приложения импортируйте команду следующим образом
# DNSPod
export DP_Id="id"
export DP_Key="key"
Али Клауд
ALY_KEY и ALY_TOKEN: Облако AlibabaКлюч API и официальные документы приложения Secrec.
После заполнения заявки сделайте следующее
export Ali_Key="key"
export Ali_Secret="secret"
godaddy
- GODADDY_KEY и GODADDY_TOKEN: GoDaddyОфициальный документ приложения ключа API
export GD_Key="key"
export GD_Secret="secret"
разное
Что касается других платформ, как импортировать ключи API, вы можете обратиться к следующим документам, которые здесь не будут объясняться.
4. Генерация сертификата
# 请注意,--dns后面的参数,一般来讲后缀就是上面的导入key的前缀
# 如果不确定,到上面的github连接中去找
# 针对 hhui.top 域名生成通配的证书
./acme.sh --issue --dns dns_ali - d *.hhui.top
После создания сертификат будет.acme.sh
каталог, создайте новый*.hhui.top
(то есть подстановочное доменное имя, которое мы указали выше) папка, сертификат находится в ней
5. Установите сертификат
Далее устанавливаем наш сертификат в nginx (конечно, можно и tomcat).Кроме установки, следующий скрипт так же добавляет задачу автоматического обновления (как правило, будет автоматически обновляться через 60 дней, а nginx будет принудительно для перезагрузки) Чтобы сделать новый сертификат действительным, вы можете передатьcrontab -e
см. соответствующие запланированные задачи)
./acme.sh --installcert -d *.hhui.top --key-file /etc/nginx/ssl/key.pem --fullchain-file /etc/nginx/ssl/cert.pem --reloadcmd "service nginx force-reload"
6. Конфигурация nginx
Затем настройте nginx для поддержки https.
Ниже приведен пример базовой конфигурации nginx.
server {
server_name blog.hhui.top;
root /home/yihui/xxx;
index index.html;
gzip on;
gzip_buffers 32 4K;
gzip_comp_level 6;
gzip_min_length 100;
gzip_types application/javascript text/css text/xml;
gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip_vary on;
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
access_log off;
expires 1d;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav|pptx)$ {
access_log off;
expires 10m;
}
location / {
try_files $uri $uri/ @router;
}
location @router {
rewrite ^.*$ /index.html last;
}
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 1.1.1.1 valid=60s;
resolver_timeout 2s;
}
server {
if ($host = blog.hhui.top) {
return 301 https://$host$request_uri;
}
listen 80;
server_name blog.hhui.top;
return 404;
}
II. Другое
1. серый блог:liuyueyi.github.io/hexblog
Серый личный блог, записывающий все посты блога по учебе и работе, приглашаю всех в гости
2. Заявление
Это не так хорошо, как письмо.Вышеупомянутое содержание чисто из семьи.Из-за ограниченных личных способностей неизбежно есть упущения и ошибки.Если вы найдете ошибки или у вас есть лучшие предложения, вы можете критиковать и исправлять их.
- Адрес вейбо:Блог Маленького Серого
- QQ: серо-серый / 3302797840
3. Сканируйте внимание
серый блог