وحید علی محمدی
وحید علی محمدی
خواندن ۱ دقیقه·۴ سال پیش

گواهی ssl رایگان let's encrypt خودکار با استفاده از certbot و cloudflare در ubuntu

گام اول: نصب certbot و پلاگین:

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot --yes
sudo apt-get install python3-certbot-dns-cloudflare --yes

وارد پنل cloud flare خود شده و در پروفایلمان در زبانه ی API Tokens روی دکمه view مربوط به Global API Key کلیک می کنیم و پس از تکمیل captcha رشته ی نشانه ی نمایش داده شده را کپی می کنیم.

یک فایل خالی ( مثل cf.ini ) در مسیر دلخواه خود (مثلا /home) میسازیم و مقادیر زیر را در آن وارد کرده و ذخیره می کنیم:

sudo nano /home/cf.ini
dns_cloudflare_email = آدرس ایمیل پروفایلمان در cloudflare dns_cloudflare_api_key = رشته نشانه ای که کپی کردیم

سپس مجوز صحیح به آن میدهیم:

sudo chmod 600 /home/cf.ini

حالا یک فایل اجرایی میسازیم به نام دلخواه خودمان مثلاْ (autocert.sh) و مقادیر زیر را با جایگزین کردن email و نام دامنه خودمان در آن وارد می کنیم:

sudo nano /home/autocert.sh
#!/bin/sh certbot certonly \ --non-interactive \ --dns-cloudflare \ --dns-cloudflare-credentials /home/cf.ini \ --manual-public-ip-logging-ok \ --agree-tos \ -m myemail@example.ir \ -d example.ir \ -d *.example.ir

اکنون فایل خود را از نوع اجرایی می کنیم:

sudo chmod +x /home/autocert.sh

با اجرای این فایل گواهی ها دریافت شده و در سیستم ذخیره می شوند.

sudo /home/autocert.sh

برای خودکار سازی نوسازی می توانیم از cron job استفاده کنیم.

sudo crontab -e
30 2 * * 1 /home/autocert.sh >> /var/log/le-renew.log 35 2 * * 1 /bin/systemctl reload nginx
sslcertbotCloudFlaretlslet s encrypt
PHD student ( Cloud Computing ), Solution Architect
شاید از این پست‌ها خوشتان بیاید