مجوزهای Wildcard را از Lets Encrypt در Nginx در اوبونتو 19.04 نصب کنید

در ماه مارس 2018 بیایید رمزگذاری پشتیبانی از گواهینامه های کارت ویزیت را اضافه کنیم. گواهینامه های Wildcard به شما امکان می دهد تمام زیر دامنه های سطح اول یک دامنه را با یک مجوز واحد ایمن کنید. گواهینامه های Wildcard فقط از طریق ACMEv2 ، که نسخه به روز شده پروتکل ACME است ، قابل دستیابی هستند. برای استفاده از ACMEv2 برای صدور گواهینامه های کارت ویزیت یا کارتهای غیر ویکارد ، به مشتری نیاز دارید که به روز شده برای پشتیبانی از ACMEv2 باشد. یکی از این مشتری ها acme.sh است که یک پروتکل پروتکل ACME / ACMEv2 است که صرفاً به زبان Shell (پوسته یونیکس) و بدون هیچگونه وابستگی نوشته شده است. علاوه بر این ، دامنه های wildcard باید با استفاده از نوع چالش DNS-01 تأیید شوند. این بدان معنی است که شما برای اثبات کنترل بر یک دامنه برای به دست آوردن گواهینامه کارت ویزیت ، باید سوابق DNS TXT را تغییر دهید.

در این راهنما چگونگی به دست آوردن و استفاده از گواهی نامه های Wildcard رایگان از Let Encrypt on Ubuntu 19.04 را با استفاده از acme.shکلاینت ، ابزار Lexicon برای دستکاری خودکار سوابق DNS با مصرف API Vultr و اعزام گواهینامه به سرور وب Nginx ارائه می دهیم.

الزامات

  • تازه سرور Ubuntu 19.04 Vultr مستقر شده است.
  • شما یک نام دامنه ثبت شده دارید این راهنما example.comبه عنوان یک دامنه مثال استفاده می کند.
  • اطمینان حاصل کنید که سوابق A / AAAA و CNAME DNS را برای نام دامنه کاملاً واجد شرایط (FQDN) خود تنظیم کرده اید. اگر لازم است خود را با مفاهیم DNS آشنا کنید ، می توانید با آموزش مقدماتی در Vultr DNS مشورت کنید .
  • Vultr API Access در کنترل پنل حساب Vultr شما فعال شده است.

قبل از اینکه شروع کنی

نسخه اوبونتو را بررسی کنید.

lsb_release -ds
# Ubuntu 19.04

با sudoدسترسی و نام کاربری مورد نظر خود یک حساب کاربری جدید ایجاد کنید و به آن تغییر دهید. ما با استفاده از johndoe.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

توجه : با نام کاربری خود جایگزین johndoeکنید.

منطقه زمانی را تنظیم کنید.

sudo dpkg-reconfigure tzdata

اطمینان حاصل کنید که سیستم اوبونتو به روز است.

sudo apt update && sudo apt upgrade -y

بسته های لازم را نصب کنید.

sudo apt install -y git wget curl socat

Nginx را نصب کنید

وب سرور Nginx را نصب کنید.

sudo apt install -y nginx

نسخه را بررسی کنید.

sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)

Python �� Lexicon را نصب کنید

به عنوان اولین قدم در روند اخذ گواهینامه های wildcard از Let Encrypt با استفاده از acme.sh و Vultr API ، باید Python و Lexicon را نصب کنید . Lexicon یک بسته Python است که راهی برای دستکاری سوابق DNS بر روی چندین ارائه دهنده DNS به روش استاندارد ارائه می دهد.

اگر قبلاً روی سیستم خود نصب نشده اید ، Python را نصب کنید.

sudo apt install -y python3

با تأیید نسخه ، نصب را تأیید کنید.

python3 --version
# Python 3.7.3

ابزار Lexicon را نصب کنید. واژگان یک ابزار Python است که به شما امکان می دهد سوابق DNS را در ارائه دهندگان DNS مختلف به روش استاندارد دستکاری کنید.

sudo apt install -y lexicon

نسخه Lexicon را بررسی کنید.

lexicon --version
# lexicon 3.0.8

نصب acme.shمشتری

Acme.shیک پروتکل پروتکل ACME است که صرفاً به زبان Shell (پوسته یونیکس) نوشته شده است و فرایند دریافت گواهی امضا شده از طریق Letry Encrypt را خودکار می کند. این نرم افزار از ACME v1 و ACME v2 پشتیبانی می کند و از همه مهمتر از گواهینامه های Wildcard ACME v2 پشتیبانی می کند. در این بخش اسکریپت Acme.sh را نصب می کنیم.

توجه: این است که به استفاده توصیه می شود rootکاربر برای نصب acme.sh، اگر چه آن نیازی نیست root/ sudoدسترسی.

تغییر به rootکاربر را از کاربر عادی اگر شما آن را ایجاد کرده اند.

sudo su - root

بارگیری و نصب کنید acme.sh.

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "your_email@example.com"
source ~/.bashrc
cd

نسخه را بررسی کنید.

acme.sh --version
# v2.8.2

دریافت گواهینامه های wildcard از Let Encrypt

برای به دست آوردن مجوز wildcard ، فقط می توانیم از روش اعتبار سنجی DNS استفاده کنیم. ما از Lexicon و Vultr DNS API برای دستکاری سوابق TXT DNS استفاده می کنیم.

گواهینامه های wildcard RSA و ECC را برای دامنه خود بدست آورید.

# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="your_vultr_email@example.com"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"

# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256

توجه : فراموش نکنید example.comکه نام دامنه خود را جایگزین کنید ، و مقادیر حفره نگهدار API Vultr را جایگزین ارزش خود کنید.

بعد از اجرای دستورات قبلی ، گواهینامه ها و کلیدهای شما در این موارد قرار دارند:

  • برای RSA: ~/.acme.sh/example.comفهرست.
  • برای ECC / ECDSA: ~/.acme.sh/example.com_eccفهرست.

توجه : شما نباید از پرونده های مجوز در ~/.acme.sh/پوشه استفاده کنید ، آنها فقط برای استفاده داخلی هستند ، ساختار دایرکتوری ممکن است در آینده تغییر کند.

برای لیست گواهینامه های خود ، می توانید اجرا کنید:

acme.sh --list

پوشه ای را برای ذخیره گواهینامه های خود در تولید ایجاد کنید. ما از /etc/letsencryptدایرکتوری استفاده می کنیم

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

گواهینامه ها را برای استفاده در نصب بر روی سرور خود نصب کنید.

# RSA
acme.sh --install-cert -d example.com \
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

اکنون که موفق به اخذ مجوزهای wildcard از Let Encrypt شدیم ، باید سرور وب Nginx را پیکربندی کنیم. همه گواهینامه ها به طور خودکار هر 60 روز یکبار تمدید می شوند.

پس از دریافت و نصب گواهینامه ها در محل مورد نظر خود ، می توانید از rootکاربر به یک sudoکاربر معمولی وارد شوید و با استفاده از در sudoصورت لزوم ، مدیریت سرور خود را ادامه دهید .

exit

پیکربندی سرور وب Nginx

sudo vim /etc/nginx/sites-available/example.com.confپرونده را با محتوای زیر اجرا و پر کنید. همه وقایع را example.comبا نام دامنه خود جایگزین کنید.

server {

  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com *.example.com;
  root /var/www/example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

}

example.com.confبا پیوند دادن پرونده به sites-enabledفهرست ، پیکربندی جدید را فعال کنید .

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

پیکربندی Nginx را آزمایش کنید.

sudo nginx -t

بارگیری مجدد Nginx

sudo systemctl reload nginx.service

خودشه. ما با استفاده از برنامه های acme.sh ، Lexicon و Vultr API ، مجوزهای Wildcard را به Nginx اعزام کردیم. وقتی می خواهید چندین زیر دامنه سطح اول تولید شده بصورت دینامیکی ایجاد کنید ، گواهینامه های Wildcard می توانند مفید باشند.

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.