Knowledgebase Profitserver ծառայության հետ աշխատելու պարզ հրահանգներ
Հիմնական Knowledgebase Certbot. Let's Encrypt վկայագրի տեղադրում

Certbot. Let's Encrypt վկայագրի տեղադրում


Այս հոդվածում մենք կուսումնասիրենք Certbot-ը Linux սերվերի վրա տեղադրելու և կարգավորելու գործընթացը : Մենք մանրամասն կբացատրենք, թե ինչպես ստանալ Let's Encrypt SSL/TLS վկայական ձեր դոմեյնի համար: Մենք նաև կնկարագրենք, թե ինչպես տեղադրել այն վեբ սերվերի վրա (օրինակ՝ Nginx կամ Apache) և կարգավորել վկայականների ավտոմատ երկարաձգումը՝ ձեր վեբ ռեսուրսի հետ անընդհատ անվտանգ կապ ապահովելու համար:

Certbot-ը անվճար, բաց կոդով գործիք է, որը նախատեսված է SSL/TLS վկայականների ավտոմատ ձեռքբերման և երկարաձգման համար : Այն կարևոր դեր է խաղում սերվերի և հաճախորդի միջև կապի անվտանգության ապահովման գործում՝ պաշտպանելով տվյալները չարտոնված մուտքից: Certbot-ը պարզեցնում է SSL վկայականի տեղադրման և երկարաձգման գործընթացը: Վկայականը ոչ միայն բարձրացնում է անվտանգությունը, այլև բարձրացնում է օգտատերերի վստահությունը ձեր վեբ ռեսուրսի նկատմամբ, դրանով իսկ բարելավելով կայքի հեղինակությունը և որոնողական համակարգերում դրա դասակարգումը:

Certbot-ի տեղադրում

Certbot-ը լռելյայնորեն ներառված է մեծ մասամբ բաշխումներում, ուստի այն Debian/Ubuntu համակարգերում տեղադրելու համար անհրաժեշտ է միայն թարմացնել փաթեթների ցանկը.

apt update

Այնուհետև սկսեք տեղադրման գործընթացը.

apt install certbot

Certbot-ն աջակցում է պլագիններին, որոնք հեշտացնում են վեբ սերվերի համար վկայագրի կարգավորումն ու կազմաձևումը: Այս պլագինները տեղադրելու համար օգտագործեք համապատասխան հրամանը.

apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache

Red Hat համակարգերի (օրինակ՝ RHEL , CentOS , Fedora ) տեղադրման գործընթացը մի փոքր այլ է։ Սկզբում դուք պետք է ավելացնեք EPEL պահոցը։

yum install epel-release

Այնուհետև տեղադրեք գործիքը.

yum install certbot

Նմանապես, կա հատուկ վեբ սերվերի համար պլագին ընտրելու տարբերակ.

yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache

Տեղադրվելուց հետո կարող եք անմիջապես անցնել վկայական ստանալուն:

SSL վկայագիր ստանալը

Այս բաժնում մենք կքննարկենք որոշակի վեբ սերվերից անկախ վկայական ստանալու գործընթացը, որին կհաջորդի Nginx-ի և Apache-ի համար վկայագրի տեղադրման գործընթացը: Այնուամենայնիվ, նախևառաջ անհրաժեշտ է հասկանալ ծրագրի շարահյուսությունը և ֆունկցիոնալությունը: Այն հայտնվում է հետևյալ կերպ.

certbot command option -d domain

Հիմնական հրամանները ներառում են.

certbot certonly - Առբերում է վկայագիրը, բայց չի տեղադրում այն:
certbot certificates - Այս հրամանը ցուցադրում է բոլոր տեղադրված վկայագրերի ցանկը:
certbot renew - ընդլայնում է առկա վկայականը:
certbot revoke - Չեղյալ է հայտարարում առկա վկայականը:
certbot delete - Ջնջում է առկա վկայականը:

Առավել հաճախ օգտագործվող տարբերակներն են.

--nginx - Օգտագործում է Nginx կազմաձևման սցենարներ տիրույթի ստուգման համար:
--apache - Օգտագործում է Apache-ի կազմաձևման սցենարներ տիրույթի ստուգման համար:
-d - Դոմենների ցանկ, որոնց համար պահանջվում է վկայականը:
--standalone - Օգտագործում է ինքնուրույն ռեժիմ տիրույթի ստուգման համար:
--manual - Կատարում է ձեռքով տիրույթի ստուգում:

Սա ընդամենը ամենահաճախակի հրամանների և տարբերակների օրինակ է: Ծրագրի հնարավորությունների ամբողջական ցանկին կարող եք ծանոթանալ օգնության բաժնում.

certbot –help
օգնություն-1

Այժմ մենք անցնում ենք վկայականի ստացմանը։ Օրինակ, մենք կստանանք վկայական վիրտուալ սերվերի համար ՝ անվճար երրորդ մակարդակի դոմեյնի համար, ինչպիսին է yourusername.pserver.space-ը։

Նախ, դուք պետք է մուտքագրեք հրամանը.

certbot certonly

Ի պատասխան՝ կոմունալը ձեզ կխնդրի ընտրել տիրույթի սեփականության հաստատման մեթոդ.

վկայական 1-1

Առաջին տարբերակը հարմար է, եթե դուք չունեք կազմաձևված վեբ սերվեր կամ չեք ցանկանում փոփոխություններ կատարել գոյություն ունեցողի մեջ: Այս մեթոդը ստեղծում է ժամանակավոր վեբ սերվեր՝ տիրույթի նկատմամբ ձեր իրավունքը հաստատելու համար: Այն իդեալական է պարզ և արագ տեղադրման համար: Այս մեթոդն ընտրելիս կարևոր է 80 նավահանգիստն անվճար պահել:

Երկրորդ տարբերակը նախընտրելի է, եթե դուք արդեն ունեք գործող վեբ սերվեր, և ցանկանում եք այն օգտագործել տիրույթի իրավունքը ստուգելու համար։ Certbot-ը տեղադրում է հատուկ ֆայլեր ձեր սերվերի թղթապանակում, որոնք այնուհետև ստուգվում են հավաստագրման կենտրոնի կողմից:

Մենք ընտրում ենք առաջին տարբերակը և սեղմում ենք հաջորդը: Այս փուլում ձեզ անհրաժեշտ կլինի.

  1. Մուտքագրեք էլփոստի հասցե;
  2. Համաձայնեք ծառայության պայմաններին;
  3. Համաձայնել կամ մերժել էլեկտրոնային նամակներ ստանալ ընկերության և նրա գործընկերների անունից.
  4. Նշեք դոմենի անունը, որի համար տրվում է վկայագիրը:
վկայական 2-1

Certbot գործիքով վկայականի տրամադրման գործընթացը ավարտելուց հետո այն ցույց կտա ուղին դեպի այն գրացուցակը, որտեղ պահվում են տրված վկայականը և ձեր հաշվի տվյալները.

վկայական 3-1

Մնում է, որ ստացված վկայականը կապեք պահանջվող ծառայության հետ։

Nginx-ի կամ Apache-ի համար վկայագրի տեղադրում

Այս բաժինը ենթադրում է, որ որոշակի հիմնարար պայմաններ են պահպանվել.

  1. Դուք արդեն տեղադրել և կարգավորել եք վեբ սերվեր՝ կա՛մ Nginx, կա՛մ Apache: Այն պետք է հասանելի լինի ինտերնետից այն դոմենի անվան միջոցով, որի համար դուք մտադիր եք ստանալ վկայականը.
  2. Գործիքի տեղադրման ընթացքում դուք նաև տեղադրել եք հավելված Nginx-ի կամ Apache-ի համար՝ օգտագործելով համապատասխան հրամանը.
  3. Firewall-ը թույլ է տալիս միացումներ 80 և 443 նավահանգիստներին: Եթե այս նավահանգիստները փակ են միացումների համար, ծառայությունն անհասանելի կլինի մուտքային կապերի համար: Firewall-ի շահագործման վերաբերյալ լրացուցիչ մանրամասների համար մենք դա քննարկեցինք հոդվածում Linux-ում firewall-ի տեղադրում.

Բոլոր պայմանները բավարարելուց հետո կարող եք ուղղակիորեն անցնել վկայականի տրամադրմանը: Մենք որպես օրինակ կդիտարկենք Nginx-ի միջոցով սերվերի վրա SSL վկայագիր ստանալու գործընթացը: Այնուամենայնիվ, եթե դուք օգտագործում եք Apache վեբ սերվեր, գործընթացը լիովին նույնական է:

Վկայական ստանալու համար անհրաժեշտ է մուտքագրել հրամանը.

certbot --nginx # for Nginx
certbot --apache # for Apache

Ի պատասխան՝ գործիքը կպահանջի՝ էլփոստի հասցե, համաձայնություն Let's Encrypt ծառայության օգտագործման պայմաններին և ծառայության և նրա գործընկերների անունից նամակներ ուղարկելու թույլտվություն:

nginx1-1

Դրանից հետո դուք պետք է նշեք այն դոմեյնի անունը, որի համար տրվել է վկայականը: Certbot-ը կարող է ավտոմատ կերպով որոշել դոմեյնը, եթե այն նշված է եղել server_name դաշտում՝ Nginx կարգավորման համար կամ ServerName և ServerAlias ​​դաշտում ՝ Apache-ի համար : Եթե այն նշված չէ, ծրագիրը կտեղեկացնի ձեզ և կխնդրի ձեռքով մուտքագրել դոմեյնի անունը: Այնուհետև ծրագիրը կհարցնի, թե արդյոք միացնել հարցումների վերահասցեավորումը HTTP-ից HTTPS արձանագրության: Ավտոմատ վերահասցեավորումը կարգավորելու համար դուք պետք է ընտրեք երկրորդ տարբերակը՝

nginx2-1

Որոշ ժամանակ անց Certbot-ը ձեզ կտեղեկացնի նշված տիրույթի համար վկայագրի հաջող ձեռքբերման մասին: Այս պահից սկսած բոլոր մուտքային կապերը կվերահղվեն 80-րդ նավահանգստից դեպի 443: Գործիքը կցուցադրի դիրեկտորիաները, որոնցում կարող եք գտնել բոլոր վկայականի տվյալները և Let's Encrypt հաշվի մանրամասները.

nginx3-1

Հաղորդագրության մեջ նշվում է նաև ստացված վկայագրի վավերականության ժամկետը և բոլոր ակտիվ վկայագրերի կառավարման կարևոր տարբերակները.

  1. անշուշտ. Այս տարբերակն օգտագործվում է առանց վեբ սերվերի ավտոմատ կազմաձևման վկայագիրը ստանալու կամ թարմացնելու համար: Certbot-ը միայն կպահանջի կամ կթարմացնի վկայագիրը, բայց ոչ մի ավտոմատ փոփոխություն չի կատարի սերվերի կազմաձևում: Նախկինում մենք օգտագործում էինք այս տարբերակը՝ առանց վեբ սերվերի հետ կապվելու վկայական ստանալու համար:
  2. վերականգնել օգտագործվում է Certbot-ի միջոցով ստացված և դրանց վավերականության ժամկետում գտնվող բոլոր վկայագրերի ավտոմատ թարմացման համար: Ծրագիրը կստուգի բոլոր վկայագրերը, և եթե դրանցից որևէ մեկի ժամկետը լրանա 30 օրվա ընթացքում կամ ավելի քիչ, այն ավտոմատ կերպով կթարմացվի:

Հաջորդ հրահանգներում մենք կքննարկենք, թե ինչպես կարելի է կարգավորել վկայագրերի ավտոմատ թարմացումը՝ առանց օգտագործողի միջամտության յուրաքանչյուր երեք ամիսը մեկ:

Վկայագրի ավտոմատ նորացում Certbot-ում

Debian/Ubuntu-ի համար

Այս օպերացիոն համակարգերն օգտագործելիս Certbot-ը ավտոմատ կերպով սկրիպտ է ավելացնում առաջադրանքների ցանկում՝ տեղադրված վկայականների ավտոմատ թարմացման համար: Դուք կարող եք ստուգել սցենարի ֆունկցիոնալությունը հետևյալ հրամանով.

systemctl status certbot.timer
թարմացում 1-2

Պատասխանը կցուցադրի ծառայության կարգավիճակը, ինչպես նաև կարգավորման ֆայլը պարունակող գրացուցակը: Դուք կարող եք այն բացել ցանկացած տեքստային խմբագրիչով: Եթե դուք չունեք Linux-ում տեքստային խմբագրիչների հետ աշխատելու փորձ, խորհուրդ ենք տալիս ծանոթանալ մեր ամենատարածված լուծումների ակնարկին: Այս դեպքում մենք կօգտագործենք nano:

nano /lib/systemd/system/certbot.timer
թարմացում 2-1

Նշված են բոլոր կարևոր պարամետրերը.

  1. Գրաֆիկում նշված է, որ ծառայությունը կգործի օրական երկու անգամ՝ ժամը 00:00 և 12:00;
  2. Երկրորդ արժեքը ցույց է տալիս պատահական ուշացում վայրկյանների ընթացքում, որը կավելացվի ժմչփի մեկնարկին: Այս դեպքում դա 43,200 վայրկյան է (12 ժամ), ինչը մեկնարկը դարձնում է ավելի պատահական և տարածում բեռը.
  3. Այս պարամետրը ապահովում է, որ եթե ժմչփը պետք է գործարկվեր համակարգի անջատման ժամանակ, ապա այն կակտիվանա անմիջապես գործարկումից հետո:

Կարող եք նաև կատարել վկայականի նորացման հարկադիր ստուգում հրամանով.

certbot renew --dry-run

Օգտագործելով այս հրամանը, վկայականները չեն թարմացվի: Փոխարենը, գործիքը կկատարի գործողություններ, որոնք նման են վկայական ստանալու ժամկետի ավարտին: Այսպիսով, դուք կարող եք ապահովել ծառայության ֆունկցիոնալությունը՝ կապված ավտոմատ նորացման հետ:

CentOS-ի, Fedora-ի և այլոց համար

Red Hat ընտանիքի համակարգերի ավտոմատ թարմացումները միացնելու գործընթացը մի փոքր տարբերվում է: Ի տարբերություն Debian/Ubuntu-ի, CentOS-ի և այլ համակարգերի համար անհրաժեշտ է ձեռքով ավելացնել առաջադրանք ժամանակացույցին: Դրա համար մենք կօգտագործենք cron գործիքը.

crontab -e

Այնուհետև բացվող ֆայլում ավելացրեք հետևյալ տողը.

0 12 * * * /usr/bin/certbot renew --quiet

Եկեք բաժանենք հրամանի հիմնական փաստարկները.

  1. Կատարման ժամանակը. Այս դեպքում հրամանը ավտոմատ կերպով կաշխատի ամեն օր ժամը 12:00-ին;
  2. Certbot-ի միջոցով SSL/TLS վկայականները թարմացնելու հրամանը.
  3.   -- հանգիստ դրոշը ճնշում է ելքը՝ գործընթացը դարձնելով ավելի թաքնված և ավելի քիչ ներխուժելով համակարգի տեղեկամատյաններում կամ ցուցադրման մեջ:

Հրամանը ավելացնելուց հետո անհրաժեշտ է պահպանել փոփոխությունները ֆայլում։

Ինչպես Debian/Ubuntu-ի դեպքում, դուք կարող եք նաև նախաձեռնել վկայագրի նորացման հարկադիր ստուգում.

certbot renew --dry-run

Հրամանի հաջող կատարման արդյունքը հետևյալն է.

թարմացում 3-1

Եզրափակում

Մենք ուսումնասիրել ենք Linux սերվերի վրա Certbot-ի տեղադրման և կազմաձևման համապարփակ գործընթացը: Հետևելով տրված հրահանգներին՝ դուք կարող եք հաջողությամբ ձեռք բերել SSL/TLS վկայագիր Let's Encrypt-ից, տեղադրել այն ձեր վեբ սերվերում և կարգավորել ավտոմատ թարմացումը՝ ապահովելու շարունակական պաշտպանություն և վստահություն ձեր վեբ ռեսուրսի նկատմամբ: Certbot-ի միջոցով դուք հեշտությամբ կարող եք ստեղծել հուսալի և անվտանգ միջավայր օգտատերերի համար:


Հարցրեք մեզ VPS-ի մասին

Մենք միշտ պատրաստ ենք պատասխանել ձեր հարցերին օրվա կամ գիշերվա ցանկացած ժամի: