{"id":7157,"date":"2026-10-09T11:00:42","date_gmt":"2026-10-09T07:30:42","guid":{"rendered":"https:\/\/parmin.cloud\/blog\/?p=7157"},"modified":"2026-10-09T11:00:42","modified_gmt":"2026-10-09T07:30:42","slug":"%d8%ad%d8%a7%d9%84%d8%aa-standalone-%d8%af%d8%b1-certbot-%d8%af%d8%b1%db%8c%d8%a7%d9%81%d8%aa-ssl-%d8%a7%d8%b2-lets-encrypt-%d8%b1%d9%88%db%8c-%d8%a7%d9%88%d8%a8%d9%88%d9%86%d8%aa%d9%88","status":"publish","type":"post","link":"https:\/\/parmin.cloud\/blog\/%d8%ad%d8%a7%d9%84%d8%aa-standalone-%d8%af%d8%b1-certbot-%d8%af%d8%b1%db%8c%d8%a7%d9%81%d8%aa-ssl-%d8%a7%d8%b2-lets-encrypt-%d8%b1%d9%88%db%8c-%d8%a7%d9%88%d8%a8%d9%88%d9%86%d8%aa%d9%88\/","title":{"rendered":"\u062d\u0627\u0644\u062a Standalone \u062f\u0631 Certbot: \u062f\u0631\u06cc\u0627\u0641\u062a SSL \u0627\u0632 Let&#8217;s Encrypt \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u0645\u0642\u062f\u0645\u0647<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s Encrypt \u06cc\u06a9 \u0645\u0631\u062c\u0639 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc (CA) \u0631\u0627\u06cc\u06af\u0627\u0646 \u0648 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0633\u062a \u06a9\u0647 \u062a\u0648\u0633\u0637 \u06af\u0631\u0648\u0647 \u062a\u062d\u0642\u06cc\u0642\u0627\u062a\u06cc \u0627\u0645\u0646\u06cc\u062a \u0627\u06cc\u0646\u062a\u0631\u0646\u062a (ISRG) \u2014 \u06cc\u06a9 \u0633\u0627\u0632\u0645\u0627\u0646 \u063a\u06cc\u0631\u0627\u0646\u062a\u0641\u0627\u0639\u06cc \u2014 \u0627\u062f\u0627\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062d\u0627\u0644\u062a Standalone \u062f\u0631 Certbot\u060c \u06cc\u06a9 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u062f\u0627\u062e\u0644\u06cc\u0650 \u0645\u0648\u0642\u062a \u0631\u0648\u06cc \u067e\u0648\u0631\u062a 80 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0686\u0627\u0644\u0634 HTTP-01 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 ACME \u0631\u0627 \u06a9\u0647 \u0627\u0632 \u0633\u0648\u06cc API \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Let&#8217;s Encrypt \u0635\u0627\u062f\u0631 \u0634\u062f\u0647 \u062a\u06a9\u0645\u06cc\u0644 \u06a9\u0646\u062f. \u0627\u0632 \u062d\u0627\u0644\u062a Standalone \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648\u0642\u062a\u06cc \u0647\u06cc\u0686 \u0648\u0628\u200c\u0633\u0631\u0648\u0631\u06cc \u0631\u0648\u06cc \u0645\u0627\u0634\u06cc\u0646 \u0634\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0646\u06cc\u0633\u062a\u060c \u06cc\u0627 \u0648\u0642\u062a\u06cc \u06a9\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0627\u0645\u0646\u200c\u0633\u0627\u0632\u06cc \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u063a\u06cc\u0631 HTTP \u2014 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0633\u0631\u0648\u0631 \u0627\u06cc\u0645\u06cc\u0644\u060c \u06cc\u06a9 \u0628\u0631\u0648\u06a9\u0631 MQTT \u06cc\u0627 \u06cc\u06a9 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 TCP \u0633\u0641\u0627\u0631\u0634\u06cc \u2014 \u0647\u0633\u062a\u06cc\u062f. \u0627\u06af\u0631 \u0648\u0628\u200c\u0633\u0631\u0648\u0631\u06cc \u0645\u0627\u0646\u0646\u062f Nginx \u06cc\u0627 Apache \u0627\u0632 \u0642\u0628\u0644 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627\u0633\u062a\u060c \u0628\u0647\u200c\u062c\u0627\u06cc \u0622\u0646 \u0627\u0632 \u067e\u0644\u0627\u06af\u06cc\u0646 webroot \u06cc\u0627 \u067e\u0644\u0627\u06af\u06cc\u0646 Nginx\/Apache \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u061b \u06a9\u0647 \u0686\u0627\u0644\u0634 \u0631\u0627 \u0628\u062f\u0648\u0646 \u062a\u0648\u0642\u0641\u0650 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0632\u0646\u062f\u0647 \u06a9\u0627\u0645\u0644 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0627\u0632 Certbot \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 EFF \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u062a\u0627 \u06cc\u06a9 \u06af\u0648\u0627\u0647\u06cc \u0645\u0639\u062a\u0628\u0631 \u06f9\u06f0 \u0631\u0648\u0632\u0647 \u0635\u0627\u062f\u0631\u0634\u062f\u0647 \u0627\u0632 Let&#8217;s Encrypt \u2014 \u06a9\u0647 \u062f\u0631 \/etc\/letsencrypt\/live\/your_domain\/ \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u2014 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u062a\u0645\u062f\u06cc\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0627\u06cc\u0645\u0631 systemd \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Certbot \u0648 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc Pre\/Post Hook \u2014 \u06a9\u0647 \u062f\u0631 \u0647\u0631 \u062a\u0644\u0627\u0634 \u062a\u0645\u062f\u06cc\u062f\u060c \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633\u06cc \u0631\u0627 \u06a9\u0647 \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0627\u0634\u063a\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0645\u062a\u0648\u0642\u0641 \u0648 \u0645\u062c\u062f\u062f\u0627\u064b \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u2014 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u062a\u0648\u062c\u0647:<\/strong> \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 22.04 LTS \u0648 24.04 LTS \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0631\u0648\u06cc \u0647\u0631 \u062f\u0648 \u0646\u0633\u062e\u0647 \u0628\u0647\u200c\u062f\u0631\u0633\u062a\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0627\u06af\u0631 \u0647\u0646\u0648\u0632 \u0627\u0632 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 20.04 \u06cc\u0627 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u0642\u062f\u06cc\u0645\u06cc\u200c\u062a\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0627\u0628\u062a\u062f\u0627 \u0633\u06cc\u0633\u062a\u0645\u200c\u0639\u0627\u0645\u0644 \u062e\u0648\u062f \u0631\u0627 \u0627\u0631\u062a\u0642\u0627 \u062f\u0647\u06cc\u062f\u061b \u0686\u0631\u0627 \u06a9\u0647 \u0627\u06cc\u0646 \u0646\u0633\u062e\u0647\u200c\u0647\u0627 \u062f\u06cc\u06af\u0631 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0646\u06a9\u0627\u062a \u06a9\u0644\u06cc\u062f\u06cc<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u062d\u0627\u0644\u062a Standalone \u062f\u0631 Certbot \u06cc\u06a9 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u062f\u0627\u062e\u0644\u06cc\u0650 \u0645\u0648\u0642\u062a \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0628\u0647 \u0686\u0627\u0644\u0634 ACME \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Let&#8217;s Encrypt \u067e\u0627\u0633\u062e \u062f\u0647\u062f. \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f \u067e\u0648\u0631\u062a TCP 80 \u0628\u0631\u0627\u06cc \u0686\u0627\u0644\u0634 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 HTTP-01 \u0622\u0632\u0627\u062f \u0628\u0627\u0634\u062f.<\/li>\n\n\n\n<li>\u0627\u0632 \u062d\u0627\u0644\u062a Standalone \u0648\u0642\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0647\u06cc\u0686 \u0648\u0628\u200c\u0633\u0631\u0648\u0631\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0646\u06cc\u0633\u062a\u060c \u06cc\u0627 \u0648\u0642\u062a\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u0645\u0646\u200c\u0633\u0627\u0632\u06cc \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u063a\u06cc\u0631 HTTP \u2014 \u0645\u0627\u0646\u0646\u062f \u0633\u0631\u0648\u0631 \u0627\u06cc\u0645\u06cc\u0644\u060c \u0628\u0631\u0648\u06a9\u0631 \u067e\u06cc\u0627\u0645 \u06cc\u0627 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 TCP \u0633\u0641\u0627\u0631\u0634\u06cc \u2014 \u0647\u0633\u062a\u06cc\u062f. \u0648\u0642\u062a\u06cc \u06cc\u06a9 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u0627\u0632 \u0642\u0628\u0644 \u062f\u0631 \u062d\u0627\u0644 \u0633\u0631\u0648 \u06a9\u0631\u062f\u0646 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0627\u0633\u062a\u060c \u0627\u0632 webroot \u06cc\u0627 \u067e\u0644\u0627\u06af\u06cc\u0646 Nginx\/Apache \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 22.04 \u0648 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f\u062a\u0631\u060c Certbot \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 snap \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f. EFF \u062f\u06cc\u06af\u0631 \u067e\u06a9\u06cc\u062c \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 apt \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u0641\u0639\u0644\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0628\u0647\u200c\u0637\u0648\u0631 \u0641\u0639\u0627\u0644 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li>\u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc Let&#8217;s Encrypt \u06f9\u06f0 \u0631\u0648\u0632 \u0627\u0639\u062a\u0628\u0627\u0631 \u062f\u0627\u0631\u0646\u062f. Certbot \u0646\u0635\u0628\u200c\u0634\u062f\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 snap\u060c \u06cc\u06a9 \u062a\u0627\u06cc\u0645\u0631 systemd \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u062f\u0627\u0631\u062f \u06a9\u0647 \u0631\u0648\u0632\u06cc \u062f\u0648 \u0628\u0627\u0631 \u062a\u0645\u062f\u06cc\u062f \u0631\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0631\u062f\u0647 \u0648 \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u06af\u0648\u0627\u0647\u06cc \u06a9\u0645\u062a\u0631 \u0627\u0632 \u06f3\u06f0 \u0631\u0648\u0632 \u062a\u0627 \u0627\u0646\u0642\u0636\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0622\u0646 \u0631\u0627 \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li>\u062f\u0631 \u062d\u0627\u0644\u062a Standalone\u060c \u067e\u0648\u0631\u062a 80 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0632\u0645\u0627\u0646 \u062a\u0645\u062f\u06cc\u062f \u0622\u0632\u0627\u062f \u0628\u0627\u0634\u062f. \u0627\u0632 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc Pre-Hook \u0648 Post-Hook \u0628\u0631\u0627\u06cc \u0645\u062a\u0648\u0642\u0641\u200c\u06a9\u0631\u062f\u0646 \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u0642\u0628\u0644 \u0648 \u0628\u0639\u062f \u0627\u0632 \u0647\u0631 \u062a\u0644\u0627\u0634 \u062a\u0645\u062f\u06cc\u062f\u060c \u067e\u0648\u0631\u062a \u0631\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u062f\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u06af\u0648\u0627\u0647\u06cc \u062f\u0631 \/etc\/letsencrypt\/live\/your_domain\/ \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0628\u06cc\u0634\u062a\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0628\u0647 \u062f\u0648 \u0641\u0627\u06cc\u0644 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u0646\u062f: fullchain.pem (\u0632\u0646\u062c\u06cc\u0631\u0647 \u06af\u0648\u0627\u0647\u06cc) \u0648 privkey.pem (\u06a9\u0644\u06cc\u062f \u062e\u0635\u0648\u0635\u06cc).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u06cc\u06a9 \u0633\u0631\u0648\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 22.04 \u06cc\u0627 24.04 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u063a\u06cc\u0631 root \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc sudo \u0648 \u0641\u0627\u06cc\u0631\u0648\u0627\u0644 \u067e\u0627\u06cc\u0647\u061b \u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u00ab\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0633\u0631\u0648\u0631 \u0628\u0627 \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u00bb \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0634\u062f\u0647.<\/li>\n\n\n\n<li>\u06cc\u06a9 \u0646\u0627\u0645 \u062f\u0627\u0645\u0646\u0647 \u06a9\u0647 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0627\u0634\u0627\u0631\u0647 \u06a9\u0646\u062f. \u0627\u06af\u0631 \u0627\u0632 \u0633\u0631\u0648\u0631 \u0645\u062c\u0627\u0632\u06cc \u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0627 \u062f\u0646\u0628\u0627\u0644\u200c\u06a9\u0631\u062f\u0646 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u00ab\u062f\u0627\u0645\u0646\u0647\u200c\u0647\u0627 \u0648 DNS\u00bb \u0645\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f. \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u062f\u0631 \u0633\u0631\u0627\u0633\u0631 \u0645\u062a\u0646 \u0627\u0632 your_domain \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li>\u067e\u0648\u0631\u062a 80 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0632\u0645\u0627\u0646 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc \u0648 \u0647\u0631 \u062a\u0645\u062f\u06cc\u062f \u0628\u0639\u062f\u06cc\u060c \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0627\u0634\u062f. \u0627\u06af\u0631 \u06cc\u06a9 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0627\u0634\u063a\u0627\u0644 \u06a9\u0631\u062f\u0647\u060c \u0628\u0627\u06cc\u062f \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc Certbot \u062f\u0631 \u062d\u0627\u0644\u062a Standalone \u0622\u0646 \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0639\u062f\u0627\u064b \u062f\u0648\u0628\u0627\u0631\u0647 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f. \u0627\u06af\u0631 \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u0645\u0646 \u06a9\u0646\u06cc\u062f \u0647\u0631 \u062f\u0648 \u067e\u0648\u0631\u062a 80 \u0648 443 \u0631\u0627 \u0627\u0634\u063a\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0648 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0645\u0648\u0642\u062a \u0622\u0646 \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647\u200c\u062c\u0627\u06cc \u0622\u0646 \u0627\u0632 \u062d\u0627\u0644\u062a webroot \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Certbot \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0641\u0627\u06cc\u0631\u0648\u0627\u0644 UFW\u060c \u0645\u0642\u0627\u0644\u0647 \u00ab\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0641\u0627\u06cc\u0631\u0648\u0627\u0644 \u0628\u0627 UFW \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u00bb \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0645\u0631\u062d\u0644\u0647 \u06f1 \u2014 \u0646\u0635\u0628 Certbot<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627 \u0631\u0641\u0631\u0634\u200c\u06a9\u0631\u062f\u0646 \u0647\u0633\u062a\u0647 snapd \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f. \u0627\u0648\u0628\u0648\u0646\u062a\u0648 22.04 \u0648 24.04 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0634\u0627\u0645\u0644 snapd \u0647\u0633\u062a\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo snap install core; sudo snap refresh core<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u0646\u0633\u062e\u0647 \u0642\u062f\u06cc\u0645\u06cc\u200c\u062a\u0631\u06cc \u0627\u0632 certbot \u0631\u0648\u06cc \u0622\u0646 \u0646\u0635\u0628 \u0628\u0648\u062f\u0647\u060c \u0628\u0627\u06cc\u062f \u0642\u0628\u0644 \u0627\u0632 \u0627\u062f\u0627\u0645\u0647 \u0622\u0646 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt remove certbot<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0639\u062f \u0627\u0632 \u0622\u0646\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u067e\u06a9\u06cc\u062c certbot \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo snap install --classic certbot<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0633\u062a\u0648\u0631 certbot \u0631\u0627 \u0627\u0632 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0646\u0635\u0628 snap \u0628\u0647 PATH \u062e\u0648\u062f \u0644\u06cc\u0646\u06a9 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0641\u0642\u0637 \u0628\u0627 \u062a\u0627\u06cc\u067e certbot \u0622\u0646 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0631\u0627\u06cc \u0647\u0645\u0647 \u067e\u06a9\u06cc\u062c\u200c\u0647\u0627 \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a\u061b \u0627\u0645\u0627 snap\u0647\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u06a9\u0645\u062a\u0631 \u0645\u062f\u0627\u062e\u0644\u0647\u200c\u06af\u0631 \u0647\u0633\u062a\u0646\u062f \u062a\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u062a\u0635\u0627\u062f\u0641\u06cc \u0628\u0627 \u0647\u06cc\u0686 \u067e\u06a9\u06cc\u062c \u0633\u06cc\u0633\u062a\u0645\u06cc \u062f\u06cc\u06af\u0631\u06cc \u062a\u062f\u0627\u062e\u0644 \u0646\u06a9\u0646\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ln -s \/snap\/bin\/certbot \/usr\/bin\/certbot<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0646\u0635\u0628 \u0631\u0627 \u0628\u0627 \u0628\u0631\u0631\u0633\u06cc \u0646\u0633\u062e\u0647 Certbot \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>certbot --version<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>certbot 2.11.0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0646\u0633\u062e\u0647 \u0646\u0645\u0627\u06cc\u0634\u200c\u062f\u0627\u062f\u0647\u200c\u0634\u062f\u0647\u060c \u06a9\u0627\u0646\u0627\u0644 snap \u0641\u0639\u0644\u06cc \u0631\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0646\u0635\u0628 \u0645\u0646\u0639\u06a9\u0633 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0628\u0627 \u0627\u0646\u062a\u0634\u0627\u0631 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc Certbot \u062a\u063a\u06cc\u06cc\u0631 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0645\u0631\u062d\u0644\u0647 \u06f2 \u2014 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0641\u0627\u06cc\u0631\u0648\u0627\u0644<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062d\u0627\u0644\u062a Standalone \u062f\u0631 Certbot \u0628\u0647 \u0686\u0627\u0644\u0634 HTTP-01 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 ACME \u067e\u0627\u0633\u062e \u0645\u06cc\u200c\u062f\u0647\u062f\u061b \u06a9\u0647 \u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u062f\u0633\u062a\u0631\u0633\u200c\u067e\u0630\u06cc\u0631\u06cc \u067e\u0648\u0631\u062a TCP 80 \u0627\u0632 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u0627\u0633\u062a. \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0631\u0648\u0627\u0644 \u062e\u0648\u062f \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 80<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Rule added\nRule added (v6)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u067e\u0633 \u067e\u0648\u0631\u062a 443 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0633\u0631\u0648 \u06a9\u0631\u062f\u0646 \u062a\u0631\u0627\u0641\u06cc\u06a9 HTTPS \u067e\u0633 \u0627\u0632 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 443<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Rule added\nRule added (v6)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062d\u0627\u0644\u062a Standalone \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u0632 \u0686\u0627\u0644\u0634 HTTP-01 \u0631\u0648\u06cc \u067e\u0648\u0631\u062a 80 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f\u061b \u0627\u06af\u0631 \u0628\u0647\u200c\u062c\u0627\u06cc \u0622\u0646 \u0627\u0632 \u200e&#8211;preferred-challenges tls-alpn-01 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u067e\u0648\u0631\u062a 443 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f. \u0627\u06af\u0631 \u067e\u0648\u0631\u062a 80 \u0641\u0642\u0637 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0648 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0634\u0645\u0627 HTTP \u0633\u0631\u0648 \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u067e\u0633 \u0627\u0632 \u0622\u0646 \u0631\u0627 \u0628\u0627 <code>sudo ufw delete allow 80<\/code> \u0628\u0628\u0646\u062f\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0645\u0631\u062d\u0644\u0647 \u06f3 \u2014 \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc \u0628\u0627 \u062d\u0627\u0644\u062a Standalone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u062a\u0648\u062c\u0647:<\/strong> \u0642\u0628\u0644 \u0627\u0632 \u0635\u062f\u0648\u0631 \u0627\u0632 \u0637\u0631\u06cc\u0642 API \u0632\u0646\u062f\u0647 Let&#8217;s Encrypt\u060c \u0628\u0627 \u200e&#8211;dry-run \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f. \u0627\u06af\u0631 \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u06a9\u0644 \u062c\u0631\u06cc\u0627\u0646 \u0635\u062f\u0648\u0631 \u0631\u0627 \u062f\u0631 \u0637\u0648\u0644 \u062a\u0633\u062a \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0646\u06cc\u062f\u060c \u200e&#8211;staging (\u06cc\u0627 \u200e&#8211;test-cert) \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u0646\u0631\u062e \u0646\u062e\u0648\u0631\u06cc\u062f. \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u0627\u0633\u062a\u06cc\u062c\u06cc\u0646\u06af \u062a\u0648\u0633\u0637 \u0645\u0631\u0648\u0631\u06af\u0631\u0647\u0627 \u0645\u0639\u062a\u0628\u0631 \u0634\u0646\u0627\u062e\u062a\u0647 \u0646\u0645\u06cc\u200c\u0634\u0648\u0646\u062f\u061b \u0627\u0645\u0627 \u0641\u0631\u0627\u06cc\u0646\u062f \u0635\u062f\u0648\u0631 \u06cc\u06a9\u0633\u0627\u0646 \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u0645\u0642\u0627\u062f\u06cc\u0631 \u0641\u0639\u0644\u06cc \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u0646\u0631\u062e\u060c \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u0646\u0631\u062e Let&#8217;s Encrypt \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u0647\u0634\u062f\u0627\u0631:<\/strong> \u062d\u0627\u0644\u062a Standalone \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0645\u062a\u0635\u0644 (Bind) \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06af\u0631 Nginx\u060c Apache \u06cc\u0627 \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 \u062f\u06cc\u06af\u0631\u06cc \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u0631\u0648\u06cc \u067e\u0648\u0631\u062a 80 \u06af\u0648\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f\u060c \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0622\u0646 \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0631\u062f\u0647 \u0648 \u067e\u0633 \u0627\u0632 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc \u062f\u0648\u0628\u0627\u0631\u0647 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f. \u0627\u06af\u0631 \u067e\u0648\u0631\u062a \u0627\u0632 \u0642\u0628\u0644 \u062f\u0631 \u062d\u0627\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0627\u0634\u062f\u060c Certbot \u0628\u0627 \u062e\u0637\u0627\u06cc Binding \u0634\u06a9\u0633\u062a \u062e\u0648\u0627\u0647\u062f \u062e\u0648\u0631\u062f.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0632 \u06af\u0632\u06cc\u0646\u0647 \u200e&#8211;standalone \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 Certbot \u0628\u06af\u0648\u06cc\u06cc\u062f \u0686\u0627\u0644\u0634 \u0631\u0627 \u0628\u0627 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u062f\u0627\u062e\u0644\u06cc \u062e\u0648\u062f\u0634 \u0647\u0646\u062f\u0644 \u06a9\u0646\u062f. \u0641\u0644\u06af d- \u062f\u0627\u0645\u0646\u0647\u200c\u0627\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0631\u0627\u06cc\u0634 \u06af\u0648\u0627\u0647\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u0645\u0634\u062e\u0635 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0686\u0646\u062f \u06af\u0632\u06cc\u0646\u0647 d- \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0686\u0646\u062f \u062f\u0627\u0645\u0646\u0647 \u062f\u0631 \u06cc\u06a9 \u06af\u0648\u0627\u0647\u06cc \u067e\u0648\u0634\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u0646\u062f.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo certbot certonly --standalone -d your_domain<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0646\u06af\u0627\u0645 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u060c \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u06cc\u06a9 \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0627 \u0634\u0631\u0627\u06cc\u0637 \u0633\u0631\u0648\u06cc\u0633 \u0645\u0648\u0627\u0641\u0642\u062a \u06a9\u0646\u06cc\u062f. \u067e\u0633 \u0627\u0632 \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0628\u0627\u06cc\u062f \u067e\u06cc\u0627\u0645\u06cc \u0628\u0628\u06cc\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f \u0641\u0631\u0627\u06cc\u0646\u062f \u0645\u0648\u0641\u0642 \u0628\u0648\u062f\u0647 \u0648 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u0634\u0645\u0627 \u06a9\u062c\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>IMPORTANT NOTES:\nSuccessfully received certificate.\nCertificate is saved at: \/etc\/letsencrypt\/live\/your_domain\/fullchain.pem\nKey is saved at: \/etc\/letsencrypt\/live\/your_domain\/privkey.pem\nThis certificate expires on 2026-09-06.\nThese files will be updated when the certificate renews.\nCertbot has set up a scheduled task to automatically renew this certificate in the background.\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\nIf you like Certbot, please consider supporting our work by:\n* Donating to ISRG \/ Let's Encrypt: https:\/\/letsencrypt.org\/donate\n* Donating to EFF:            https:\/\/eff.org\/donate-le<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062e\u0648\u062f\u06a9\u0627\u0631\u0633\u0627\u0632\u06cc \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u06cc\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u06cc \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u062a\u0639\u0627\u0645\u0644\u06cc \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0646\u06cc\u0633\u062a\u0646\u062f\u060c \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a Inline \u067e\u0627\u0633 \u0628\u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo certbot certonly --standalone \\\n  --non-interactive \\\n  --agree-tos \\\n  --no-eff-email \\\n  -m your_email@example.com \\\n  -d your_domain<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u06af\u0632\u06cc\u0646\u0647 \u200e&#8211;agree-tos \u062a\u0648\u0627\u0641\u0642\u200c\u0646\u0627\u0645\u0647 \u0645\u0634\u062a\u0631\u06a9\u06cc\u0646 Let&#8217;s Encrypt \u0631\u0627 \u0645\u06cc\u200c\u067e\u0630\u06cc\u0631\u062f\u061b \u06af\u0632\u06cc\u0646\u0647 \u200e&#8211;no-eff-email \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0639\u0636\u0648\u06cc\u062a \u062f\u0631 \u062e\u0628\u0631\u0646\u0627\u0645\u0647 EFF \u0631\u0627 \u0631\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 m- \u0622\u062f\u0631\u0633\u06cc \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 Let&#8217;s Encrypt \u0628\u0631\u0627\u06cc \u0647\u0634\u062f\u0627\u0631\u0647\u0627\u06cc \u0627\u0646\u0642\u0636\u0627 \u0648 \u0627\u0637\u0644\u0627\u0639\u200c\u0631\u0633\u0627\u0646\u06cc \u0634\u06a9\u0633\u062a \u062a\u0645\u062f\u06cc\u062f \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0632 \u06cc\u06a9 \u0622\u062f\u0631\u0633 \u0648\u0627\u0642\u0639\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f: \u0627\u0637\u0644\u0627\u0639\u200c\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u0634\u06a9\u0633\u062a \u062a\u0645\u062f\u06cc\u062f\u060c \u062a\u0646\u0647\u0627 \u0647\u0634\u062f\u0627\u0631 \u0632\u0648\u062f\u0647\u0646\u06af\u0627\u0645\u200c\u0627\u0646\u062f \u0627\u06af\u0631 \u062a\u0627\u06cc\u0645\u0631 systemd \u0627\u0632 \u06a9\u0627\u0631 \u0628\u06cc\u0641\u062a\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0628\u0627 ls \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0627\u06cc \u06a9\u0647 \u06a9\u0644\u06cc\u062f\u0647\u0627 \u0648 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u062f\u0627\u0631\u062f \u0641\u0647\u0631\u0633\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ls \/etc\/letsencrypt\/live\/your_domain<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cert.pem  chain.pem  fullchain.pem  privkey.pem  README<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062c\u0632\u0626\u06cc\u0627\u062a \u06af\u0648\u0627\u0647\u06cc \u0631\u0627 \u0628\u0627 openssl \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo openssl x509 -in \/etc\/letsencrypt\/live\/your_domain\/cert.pem -noout -subject -issuer -dates -ext subjectAltName<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>subject=CN = your_domain\nissuer=C = US, O = Let's Encrypt, CN = E5\nnotBefore=Mon Jun  8 00:00:00 2026 GMT\nnotAfter=Sun Sep  6 00:00:00 2026 GMT\n\nX509v3 Subject Alternative Name:\n    DNS:your_domain<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0642\u062f\u0627\u0631 notAfter \u067e\u0646\u062c\u0631\u0647 \u0627\u0639\u062a\u0628\u0627\u0631 \u06f9\u06f0 \u0631\u0648\u0632\u0647 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0645\u0642\u062f\u0627\u0631 issuer \u062a\u0623\u06cc\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 Let&#8217;s Encrypt \u06af\u0648\u0627\u0647\u06cc \u0631\u0627 \u0627\u0645\u0636\u0627 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a. \u0627\u06af\u0631 \u0628\u0627 \u0641\u0644\u06af\u200c\u0647\u0627\u06cc d- \u0645\u06a9\u0631\u0631 \u0628\u0631\u0627\u06cc \u0686\u0646\u062f \u062f\u0627\u0645\u0646\u0647 \u06af\u0648\u0627\u0647\u06cc \u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c \u0647\u0645\u0647 \u062f\u0627\u0645\u0646\u0647\u200c\u0647\u0627 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0648\u0631\u0648\u062f\u06cc\u200c\u0647\u0627\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647 DNS: \u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u062f\u0627\u0645\u0646\u0647\u200c\u0627\u06cc \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0647\u0631\u0633\u062a \u0646\u0628\u0627\u0634\u062f\u060c \u062a\u0648\u0633\u0637 \u06af\u0648\u0627\u0647\u06cc \u067e\u0648\u0634\u0634 \u062f\u0627\u062f\u0647 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0641\u0647\u0631\u0633\u062a\u200c\u06a9\u0631\u062f\u0646 \u0647\u0645\u0647 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u062a\u0648\u0633\u0637 Certbot \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u2014 \u0634\u0627\u0645\u0644 \u062f\u0627\u0645\u0646\u0647\u200c\u0647\u0627 \u0648 \u062a\u0627\u0631\u06cc\u062e\u200c\u0647\u0627\u06cc \u0627\u0646\u0642\u0636\u0627\u06cc\u0634\u0627\u0646 \u2014 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo certbot certificates<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Found the following certs:\n  Certificate Name: your_domain\n    Serial Number: ...\n    Key Type: ECDSA\n    Domains: your_domain\n    Expiry Date: 2026-09-06 00:00:00+00:00 (VALID: 89 days)\n    Certificate Path: \/etc\/letsencrypt\/live\/your_domain\/fullchain.pem\n    Private Key Path: \/etc\/letsencrypt\/live\/your_domain\/privkey.pem<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0650 \u0627\u0635\u0644\u06cc \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a \u06af\u0648\u0627\u0647\u06cc \u0631\u0648\u06cc \u0647\u0631 \u0633\u0631\u0648\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062a\u0648\u0633\u0637 Certbot \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06af\u0648\u0627\u0647\u06cc<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u06cc\u0634\u062a\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0628\u0647 \u062f\u0648 \u0641\u0627\u06cc\u0644 \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u0646\u062f: fullchain.pem \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u06af\u0648\u0627\u0647\u06cc \u0648 privkey.pem \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u06a9\u0644\u06cc\u062f \u062e\u0635\u0648\u0635\u06cc. \u0645\u062b\u0627\u0644 \u0632\u06cc\u0631 Directive\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 TLS \u0631\u0627 \u0628\u0631\u0627\u06cc Postfix \u062f\u0631 \/etc\/postfix\/main.cf \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><code>\/etc\/postfix\/main.cf<\/code><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>smtpd_tls_cert_file = \/etc\/letsencrypt\/live\/your_domain\/fullchain.pem\nsmtpd_tls_key_file = \/etc\/letsencrypt\/live\/your_domain\/privkey.pem\nsmtpd_tls_security_level = may<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u062a\u0648\u062c\u0647:<\/strong> \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \/etc\/letsencrypt\/live\/ \u0641\u0642\u0637 \u062a\u0648\u0633\u0637 root \u0642\u0627\u0628\u0644\u200c\u062e\u0648\u0627\u0646\u062f\u0646 \u0627\u0633\u062a. \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0627 \u06a9\u0627\u0631\u0628\u0631 \u063a\u06cc\u0631 root \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f (\u0645\u0627\u0646\u0646\u062f \u06a9\u0627\u0631\u0628\u0631 postfix) \u0628\u0647 \u06cc\u06a9 Deploy Hook \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u0646\u062f \u06a9\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u06af\u0648\u0627\u0647\u06cc \u0631\u0627 \u0628\u0647 \u0645\u06a9\u0627\u0646\u06cc \u0642\u0627\u0628\u0644\u200c\u062e\u0648\u0627\u0646\u062f\u0646 \u0628\u0631\u0627\u06cc \u0647\u0645\u0647 \u06a9\u067e\u06cc \u06a9\u0646\u062f\u061b \u06cc\u0627 \u0628\u0647 \u0627\u0639\u0637\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0635\u0631\u06cc\u062d \u0631\u0648\u06cc \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u06af\u0648\u0627\u0647\u06cc. \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0627\u0645\u0644 Postfix\u060c \u0645\u0642\u0627\u0644\u0647 \u00ab\u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Postfix \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u00bb \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0628\u0631\u0648\u06a9\u0631 MQTT \u0645\u0627\u0646\u0646\u062f Mosquitto\u060c \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \/etc\/mosquitto\/conf.d\/tls.conf \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><code>\/etc\/mosquitto\/conf.d\/tls.conf<\/code><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>listener 8883\ncafile \/etc\/ssl\/certs\/ca-certificates.crt\ncertfile \/etc\/letsencrypt\/live\/your_domain\/fullchain.pem\nkeyfile \/etc\/letsencrypt\/live\/your_domain\/privkey.pem<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0648\u0631\u062a 8883 \u067e\u0648\u0631\u062a \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f MQTT-over-TLS \u0627\u0633\u062a. \u0647\u0645\u0627\u0646 \u0647\u0634\u062f\u0627\u0631\u0650 \u062f\u0633\u062a\u0631\u0633\u06cc\u0650 \u0641\u0642\u0637-root \u0627\u0639\u0645\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f: \u06a9\u0627\u0631\u0628\u0631 mosquitto \u0628\u0647 \u06cc\u06a9 Deploy Hook \u06cc\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u0635\u0631\u06cc\u062d \u0628\u0647 privkey.pem \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644 README \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u062f\u0631\u0628\u0627\u0631\u0647 \u0647\u0631 \u06cc\u06a9 \u0627\u0632 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u062f\u0627\u0631\u062f. \u0627\u063a\u0644\u0628 \u0641\u0642\u0637 \u0628\u0647 \u062f\u0648 \u0645\u0648\u0631\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0646\u06cc\u0627\u0632 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>privkey.pem:<\/strong> \u06a9\u0644\u06cc\u062f \u062e\u0635\u0648\u0635\u06cc. \u0622\u0646 \u0631\u0627 \u0645\u062d\u0631\u0645\u0627\u0646\u0647 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc\u062f. \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \/etc\/letsencrypt \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0641\u0642\u0637 \u0628\u0631\u0627\u06cc root \u0627\u0633\u062a. \u0628\u06cc\u0634\u062a\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u062f\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0647 \u0622\u0646 \u0628\u0627 \u0639\u0646\u0648\u0627\u0646 ssl-certificate-key \u06cc\u0627 ssl-certificate-key-file \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<\/li>\n\n\n\n<li><strong>fullchain.pem:<\/strong> \u0632\u0646\u062c\u06cc\u0631\u0647 \u06a9\u0627\u0645\u0644 \u06af\u0648\u0627\u0647\u06cc. \u0628\u06cc\u0634\u062a\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0628\u0647 \u0622\u0646 \u0628\u0627 \u0639\u0646\u0648\u0627\u0646 ssl-certificate \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631\u0628\u0627\u0631\u0647 \u0633\u0627\u06cc\u0631 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f\u060c \u0628\u0647 \u0628\u062e\u0634 \u00abWhere are my certificates?\u00bb \u0627\u0632 \u0645\u0633\u062a\u0646\u062f\u0627\u062a Certbot \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0639\u0636\u06cc \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u0647\u0627 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc\u0634\u0627\u0646 \u0631\u0627 \u0628\u0627 \u0641\u0631\u0645\u062a\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631\u060c \u062f\u0631 \u0645\u06a9\u0627\u0646\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u06cc\u0627 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u06cc \u0645\u062a\u0641\u0627\u0648\u062a \u0644\u0627\u0632\u0645 \u062f\u0627\u0631\u0646\u062f. \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0647\u0645\u0647\u200c\u0686\u06cc\u0632 \u0631\u0627 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc letsencrypt \u0631\u0647\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u0647\u06cc\u0686 \u062f\u0633\u062a\u0631\u0633\u06cc\u200c\u0627\u06cc \u0631\u0627 \u062f\u0631 \u0622\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u0646\u062f\u0647\u06cc\u062f (\u062f\u0633\u062a\u0631\u0633\u06cc\u200c\u0647\u0627 \u0628\u0647\u200c\u0647\u0631\u062d\u0627\u0644 \u0647\u0646\u06af\u0627\u0645 \u062a\u0645\u062f\u06cc\u062f \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f)\u061b \u0627\u0645\u0627 \u06af\u0627\u0647\u06cc \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647\u200c\u0627\u06cc \u0646\u06cc\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a\u060c \u0628\u0627\u06cc\u062f \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u06cc \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f \u06a9\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0631\u0627 \u062c\u0627\u0628\u0647\u200c\u062c\u0627 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u062f\u0633\u062a\u0631\u0633\u06cc\u200c\u0647\u0627 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u062f. \u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0628\u0627\u06cc\u062f \u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 Certbot \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627 \u0631\u0627 \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f \u0627\u062c\u0631\u0627 \u0634\u0648\u062f\u061b \u06a9\u0647 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f \u0622\u0646 \u0631\u0627 \u067e\u0648\u0634\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0645\u0631\u062d\u0644\u0647 \u06f4 \u2014 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062a\u0645\u062f\u06cc\u062f \u062e\u0648\u062f\u06a9\u0627\u0631<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc Let&#8217;s Encrypt \u06f9\u06f0 \u0631\u0648\u0632 \u0627\u0639\u062a\u0628\u0627\u0631 \u062f\u0627\u0631\u0646\u062f. Certbot \u0646\u0635\u0628\u200c\u0634\u062f\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 snap \u06cc\u06a9 \u062a\u0627\u06cc\u0645\u0631 systemd (\u200fsnap.certbot.renew.timer) \u062b\u0628\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0631\u0648\u0632\u06cc \u062f\u0648 \u0628\u0627\u0631 certbot renew \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u0647 \u0648 \u0647\u0631 \u06af\u0648\u0627\u0647\u06cc\u0650 \u062f\u0631 \u0641\u0627\u0635\u0644\u0647 \u06f3\u06f0 \u0631\u0648\u0632\u06cc \u0627\u0632 \u0627\u0646\u0642\u0636\u0627 \u0631\u0627 \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0647\u06cc\u0686 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u062f\u0633\u062a\u06cc\u0650 cron \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u062a\u0645\u062f\u06cc\u062f\u060c Certbot \u0628\u0627\u06cc\u062f \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633\u0650 \u0627\u0633\u062a\u0641\u0627\u062f\u0647\u200c\u06a9\u0646\u0646\u062f\u0647 \u0627\u0632 \u06af\u0648\u0627\u0647\u06cc \u0631\u0627 Reload \u06cc\u0627 \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u06a9\u0646\u062f \u062a\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0631\u0627 \u0628\u0631\u062f\u0627\u0631\u062f. \u062f\u0631 \u062d\u0627\u0644\u062a Standalone\u060c \u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0627\u06cc\u062f \u0642\u0628\u0644 \u0627\u0632 \u062a\u0644\u0627\u0634 \u062a\u0645\u062f\u06cc\u062f \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633\u0650 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631\u200c\u062f\u0627\u0631\u0646\u062f\u0647 \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0639\u062f\u0627\u064b \u062f\u0648\u0628\u0627\u0631\u0647 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u062f. Certbot \u062f\u0648 \u0645\u06a9\u0627\u0646\u06cc\u0632\u0645 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f: \u06af\u0632\u06cc\u0646\u0647 renew_hook \u062f\u0631 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062a\u0645\u062f\u06cc\u062f\u060c \u0648 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc Pre\/Post Hook \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0647\u0627\u06cc renewal-hooks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646 \u06cc\u06a9 renew_hook\u060c \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062a\u0645\u062f\u06cc\u062f Certbot \u0628\u0631\u0627\u06cc \u062f\u0627\u0645\u0646\u0647 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/letsencrypt\/renewal\/your_domain.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0645\u062a\u0646\u06cc \u0628\u0627 \u0686\u0646\u062f \u06af\u0632\u06cc\u0646\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0627\u0632 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u062e\u0637 \u0622\u062e\u0631\u060c \u0647\u0648\u06a9\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0648\u200c\u0628\u0647\u200c\u0648\u0628 \u0631\u0627 Reload \u06a9\u0631\u062f\u0647 \u0648 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0648\u0627\u062f\u0627\u0631 \u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06af\u0648\u0627\u0647\u06cc \u062a\u0645\u062f\u06cc\u062f\u0634\u062f\u0647 \u06a9\u0646\u062f:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><code>\/etc\/letsencrypt\/renewal\/your_domain.conf<\/code><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>renew_hook = systemctl reload your_service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627 \u0631\u0627 \u0628\u0647 \u0647\u0631 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0628\u0631\u0627\u06cc Reload \u06a9\u0631\u062f\u0646 \u0633\u0631\u0648\u0631\u062a\u0627\u0646 \u06cc\u0627 \u0627\u062c\u0631\u0627\u06cc \u0647\u0631 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u067e\u0633 \u0627\u0632 \u062a\u0645\u062f\u06cc\u062f \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f. \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u060c \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 systemctl \u0628\u0631\u0627\u06cc Reload \u06a9\u0631\u062f\u0646 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc Pre-Hook \u0648 Post-Hook \u0628\u0631\u0627\u06cc \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u062d\u0627\u0644\u062a Standalone\u060c \u0647\u0631 \u062a\u0644\u0627\u0634 \u062a\u0645\u062f\u06cc\u062f \u0628\u0627\u06cc\u062f \u0628\u0631\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u0686\u0627\u0644\u0634 ACME \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u0627\u06af\u0631 \u0633\u0631\u0648\u06cc\u0633\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646 \u062a\u0645\u062f\u06cc\u062f \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0627\u0634\u063a\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u062a\u0645\u062f\u06cc\u062f \u0634\u06a9\u0633\u062a \u0645\u06cc\u200c\u062e\u0648\u0631\u062f \u0648 \u06af\u0648\u0627\u0647\u06cc \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f. Pre-Hook\u0647\u0627 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0642\u0628\u0644 \u0627\u0632 \u062a\u0644\u0627\u0634 \u062a\u0645\u062f\u06cc\u062f \u0645\u062a\u0648\u0642\u0641 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u061b Post-Hook\u0647\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0639\u062f \u0627\u0632 \u0622\u0646 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0628\u0644 \u0627\u0632 \u0627\u0646\u062a\u062e\u0627\u0628 \u0631\u0648\u06cc\u06a9\u0631\u062f\u060c \u0628\u0647 \u062a\u0648\u0627\u0641\u0642 Downtime \u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f: \u062f\u0631 \u062d\u0627\u0644\u062a Standalone\u060c Certbot \u0628\u0627\u06cc\u062f \u0628\u0631\u0627\u06cc \u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647 \u062f\u0631 \u0637\u0648\u0644 \u0686\u0627\u0644\u0634 ACME \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 Pre-Hook \u0645\u062a\u0648\u0642\u0641 \u0634\u062f\u0647\u060c \u0628\u0631\u0627\u06cc \u0622\u0646 \u0628\u0627\u0632\u0647 \u0628\u0647\u200c\u0639\u0644\u0627\u0648\u0647 \u0632\u0645\u0627\u0646 \u062a\u0648\u0642\u0641 \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f\u060c \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0646\u06cc\u0633\u062a. \u0628\u0631\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u063a\u06cc\u0631 HTTP (\u0627\u06cc\u0645\u06cc\u0644\u060c MQTT \u0648 TCP \u0633\u0641\u0627\u0631\u0634\u06cc) \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u200c\u0642\u0628\u0648\u0644 \u0627\u0633\u062a. \u0627\u06af\u0631 \u062a\u0645\u062f\u06cc\u062f \u0628\u062f\u0648\u0646 Downtime \u0644\u0627\u0632\u0645 \u0627\u0633\u062a\u060c \u0627\u0632 \u06cc\u06a9 \u067e\u0631\u0648\u06a9\u0633\u06cc \u0645\u0639\u06a9\u0648\u0633 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u200e\/.well-known\/acme-challenge\/\u200e \u0631\u0627 \u0628\u0647 \u200e&#8211;http-01-port \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Certbot \u0641\u0648\u0631\u0648\u0627\u0631\u062f \u06a9\u0646\u062f\u060c \u062f\u0631\u062d\u0627\u0644\u06cc\u200c\u06a9\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0634\u0645\u0627 \u0628\u0647 \u06a9\u0627\u0631 \u062e\u0648\u062f \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f\u061b \u0627\u0645\u0627 \u0622\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0627\u0631\u062c \u0627\u0632 \u0645\u062d\u062f\u0648\u062f\u0647 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0646\u06af\u0627\u0645 \u0627\u0646\u062a\u062e\u0627\u0628 \u0628\u06cc\u0646 \u062f\u0648 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0647\u0648\u06a9 \u0632\u06cc\u0631: \u0627\u0632 \u0631\u0648\u06cc\u06a9\u0631\u062f \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc renewal-hooks (\u0631\u0648\u06cc\u06a9\u0631\u062f \u06f1) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0647\u0648\u06a9\u200c\u0647\u0627 \u0641\u0627\u0631\u063a \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u062a\u0645\u062f\u06cc\u062f \u0686\u0637\u0648\u0631 \u0641\u0639\u0627\u0644 \u0634\u0648\u062f \u0627\u062c\u0631\u0627 \u0634\u0648\u0646\u062f. \u0627\u0632 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0641\u0644\u06af\u200c\u0647\u0627\u06cc Inline (\u0631\u0648\u06cc\u06a9\u0631\u062f \u06f2) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0647\u0648\u06a9 \u062f\u0631 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062a\u0645\u062f\u06cc\u062f \u0630\u062e\u06cc\u0631\u0647 \u0634\u0648\u062f \u0648 \u06af\u0648\u0627\u0647\u06cc \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062a\u0639\u0627\u0645\u0644\u06cc \u0635\u0627\u062f\u0631 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u062d\u0627\u0644\u062a Standalone\u0627\u06cc \u06a9\u0647 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u063a\u06cc\u0631 HTTP \u0631\u0627 \u0627\u0645\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0631\u0648\u06cc\u06a9\u0631\u062f \u06f1 \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u0637\u0645\u0626\u0646\u200c\u062a\u0631\u06cc \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0631\u0648\u06cc\u06a9\u0631\u062f \u06f1: \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc \u0647\u0648\u06a9 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0647\u0627\u06cc renewal-hooks (\u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc \u0628\u0631\u0627\u06cc \u062d\u0627\u0644\u062a Standalone).<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a Pre-Hook \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/letsencrypt\/renewal-hooks\/pre\/stop-service.sh &lt;&lt;'EOF'\n#!\/bin\/sh\nsystemctl stop your_service\nEOF\nsudo chmod +x \/etc\/letsencrypt\/renewal-hooks\/pre\/stop-service.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a Post-Hook \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/letsencrypt\/renewal-hooks\/post\/start-service.sh &lt;&lt;'EOF'\n#!\/bin\/sh\nsystemctl start your_service\nEOF\nsudo chmod +x \/etc\/letsencrypt\/renewal-hooks\/post\/start-service.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Certbot \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0647\u0627 \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc\u0634\u0627\u0646 \u0646\u0633\u0628\u062a \u0628\u0647 \u06cc\u06a9 \u062a\u0644\u0627\u0634 \u062a\u0645\u062f\u06cc\u062f \u067e\u0631\u062f\u0627\u0632\u0634 \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\/etc\/letsencrypt\/renewal-hooks\/pre\/<\/code>: \u0642\u0628\u0644 \u0627\u0632 \u0647\u0631 \u062a\u0644\u0627\u0634 \u062a\u0645\u062f\u06cc\u062f \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f\u061b \u0686\u0647 \u06af\u0648\u0627\u0647\u06cc \u0639\u0645\u0644\u0627\u064b \u062a\u0645\u062f\u06cc\u062f \u0634\u0648\u062f \u0648 \u0686\u0647 \u0646\u0634\u0648\u062f.<\/li>\n\n\n\n<li><code>\/etc\/letsencrypt\/renewal-hooks\/deploy\/<\/code>: \u0641\u0642\u0637 \u0632\u0645\u0627\u0646\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u06cc\u06a9 \u06af\u0648\u0627\u0647\u06cc \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u062a\u0645\u062f\u06cc\u062f \u0648 \u0645\u0633\u062a\u0642\u0631 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f.<\/li>\n\n\n\n<li><code>\/etc\/letsencrypt\/renewal-hooks\/post\/<\/code>: \u0628\u0639\u062f \u0627\u0632 \u0647\u0631 \u062a\u0644\u0627\u0634 \u062a\u0645\u062f\u06cc\u062f \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f\u061b \u0641\u0627\u0631\u063a \u0627\u0632 \u0646\u062a\u06cc\u062c\u0647.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u062a\u0648\u062c\u0647:<\/strong> \u0645\u0642\u062f\u0627\u0631 your_service \u0631\u0627 \u0628\u0627 \u0646\u0627\u0645 \u06cc\u0648\u0646\u06cc\u062a systemd \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062e\u0648\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f. \u0645\u062b\u0644\u0627\u064b \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0633\u0631\u0648\u0631 \u0627\u06cc\u0645\u06cc\u0644 Postfix \u0627\u0632 postfix \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0627 <code>systemctl list-units --type=service<\/code> \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u0641\u0639\u0627\u0644 \u0631\u0627 \u0641\u0647\u0631\u0633\u062a \u06a9\u0631\u062f\u0647 \u0648 \u0646\u0627\u0645 \u06cc\u0648\u0646\u06cc\u062a \u062f\u0631\u0633\u062a \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0631\u0648\u06cc\u06a9\u0631\u062f \u06f2: \u0641\u0644\u06af\u200c\u0647\u0627\u06cc Inline \u0647\u0646\u06af\u0627\u0645 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc (\u0630\u062e\u06cc\u0631\u0647\u200c\u0634\u062f\u0647 \u062f\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062a\u0645\u062f\u06cc\u062f).<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo certbot certonly --standalone \\\n  --pre-hook \"systemctl stop your_service\" \\\n  --post-hook \"systemctl start your_service\" \\\n  -d your_domain<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Certbot \u0627\u06cc\u0646 \u0641\u0644\u06af\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062f\u0631 \/etc\/letsencrypt\/renewal\/your_domain.conf \u0645\u06cc\u200c\u0646\u0648\u06cc\u0633\u062f\u061b \u067e\u0633 \u062f\u0631 \u0647\u0631 \u0627\u062c\u0631\u0627\u06cc \u0628\u0639\u062f\u06cc certbot renew \u0627\u0639\u0645\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0623\u06cc\u06cc\u062f \u062a\u0627\u06cc\u0645\u0631 \u062a\u0645\u062f\u06cc\u062f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062a\u0627\u06cc\u0645\u0631 systemd \u0641\u0639\u0627\u0644 \u0627\u0633\u062a \u0648 \u0627\u062c\u0631\u0627\u06cc \u0628\u0639\u062f\u06cc\u0650 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0631\u06cc\u0632\u06cc\u200c\u0634\u062f\u0647\u200c\u0627\u0634 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl list-timers | grep certbot<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>NEXT                        LEFT     LAST                        PASSED   UNIT                       ACTIVATES\nTue 2026-06-09 12:00:00 UTC 5h left  Mon 2026-06-08 00:00:00 UTC 6h ago  snap.certbot.renew.timer   snap.certbot.renew.service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u06cc\u06a9 \u062a\u0645\u062f\u06cc\u062f Dry-Run \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u062f\u0648\u0646 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc \u062c\u062f\u06cc\u062f \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo certbot renew --dry-run<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Congratulations, all simulated renewals succeeded:\n  \/etc\/letsencrypt\/live\/your_domain\/fullchain.pem (success)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u062e\u0637\u0627\u06cc\u06cc \u0646\u062f\u06cc\u062f\u06cc\u062f\u060c Certbot \u0637\u0648\u0631\u06cc \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u06a9\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a \u0644\u0632\u0648\u0645 \u062a\u0645\u062f\u06cc\u062f \u06a9\u0646\u062f \u0648 \u0647\u0631 \u062f\u0633\u062a\u0648\u0631\u0650 \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0634\u0645\u0627 \u0627\u0632 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u06af\u0648\u0627\u0647\u06cc \u062c\u062f\u06cc\u062f \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u062f. \u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u200e&#8211;dry-run \u0647\u0648\u06a9\u200c\u0647\u0627\u06cc Pre \u0648 Post \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0627\u0645\u0627 \u0647\u0648\u06a9\u200c\u0647\u0627\u06cc Deploy \u0631\u0627 \u0631\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06af\u0631 \u0628\u0647\u200c\u062c\u0627\u06cc \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc Pre\/Post\u060c \u06cc\u06a9 renew_hook \u062f\u0631 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062a\u0645\u062f\u06cc\u062f \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u062f\u0631 \u0637\u0648\u0644 Dry-Run \u0627\u062c\u0631\u0627 \u0646\u062e\u0648\u0627\u0647\u062f \u0634\u062f\u061b \u0686\u0648\u0646 \u0639\u0645\u0644\u0627\u064b \u0647\u06cc\u0686 \u06af\u0648\u0627\u0647\u06cc\u200c\u0627\u06cc \u0635\u0627\u062f\u0631 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u062d\u0627\u0644\u062a Standalone \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06cc\u0631 \u062d\u0627\u0644\u062a\u200c\u0647\u0627\u06cc Certbot<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062d\u0627\u0644\u062a\u06cc \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0627 \u0627\u06cc\u0646 \u062f\u0648 \u0645\u0648\u0631\u062f \u0645\u0637\u0627\u0628\u0642\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f: \u0622\u06cc\u0627 \u0631\u0648\u06cc \u0645\u0627\u0634\u06cc\u0646 \u0634\u0645\u0627 \u0627\u0632 \u0642\u0628\u0644 \u0648\u0628\u200c\u0633\u0631\u0648\u0631\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627\u0633\u062a \u0648 \u0622\u06cc\u0627 \u0628\u0647 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f\u061f<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u062d\u0627\u0644\u062a<\/th><th>\u067e\u0648\u0631\u062a \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647<\/th><th>\u0646\u06cc\u0627\u0632 \u0628\u0647 \u0648\u0628\u200c\u0633\u0631\u0648\u0631<\/th><th>\u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc<\/th><\/tr><\/thead><tbody><tr><td>\u200e&#8211;standalone<\/td><td>80 (\u200fHTTP-01) \u06cc\u0627 443 (\u200fTLS-ALPN-01)<\/td><td>\u062e\u06cc\u0631 (\u0627\u0632 \u0633\u0631\u0648\u0631 \u062f\u0627\u062e\u0644\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f)<\/td><td>\u0646\u0628\u0648\u062f\u0650 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627\u061b \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u063a\u06cc\u0631 HTTP \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0645\u06cc\u0644\u060c MQTT \u06cc\u0627 TCP \u0633\u0641\u0627\u0631\u0634\u06cc<\/td><\/tr><tr><td>\u200e&#8211;webroot<\/td><td>80 (\u062a\u0648\u0633\u0637 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0633\u0631\u0648 \u0645\u06cc\u200c\u0634\u0648\u062f)<\/td><td>\u0628\u0644\u0647\u060c \u0627\u0632 \u0642\u0628\u0644 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627<\/td><td>\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u0648\u0628\u200c\u0633\u0631\u0648\u0631\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0633\u0631\u0648 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u0646\u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f<\/td><\/tr><tr><td>\u200e&#8211;nginx<\/td><td>80\/443<\/td><td>\u0628\u0644\u0647 (\u200fNginx)<\/td><td>\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc Nginx\u061b \u0647\u0645\u0686\u0646\u06cc\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Nginx \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f<\/td><\/tr><tr><td>\u200e&#8211;apache<\/td><td>80\/443<\/td><td>\u0628\u0644\u0647 (\u200fApache)<\/td><td>\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc Apache\u061b \u0647\u0645\u0686\u0646\u06cc\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Apache \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f<\/td><\/tr><tr><td>DNS-01 (\u200f&#8211;manual \u06cc\u0627 \u067e\u0644\u0627\u06af\u06cc\u0646 DNS)<\/td><td>\u0647\u06cc\u0686 (\u0631\u06a9\u0648\u0631\u062f TXT \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 DNS)<\/td><td>\u062e\u06cc\u0631<\/td><td>\u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u0648\u0627\u06cc\u0644\u062f\u06a9\u0627\u0631\u062a\u061b \u0633\u0631\u0648\u0631\u0647\u0627\u06cc\u06cc \u0628\u062f\u0648\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u0648\u0631\u0648\u062f\u06cc HTTP\/HTTPS<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0631\u0648\u06cc \u0645\u0627\u0634\u06cc\u0646 \u0634\u0645\u0627 \u0627\u0632 \u0642\u0628\u0644 \u0648\u0628\u200c\u0633\u0631\u0648\u0631\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627\u0633\u062a\u060c \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062a\u0648\u0642\u0641 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0632\u0646\u062f\u0647 \u062f\u0631 \u0637\u0648\u0644 \u062a\u0645\u062f\u06cc\u062f\u060c webroot \u06cc\u0627 \u067e\u0644\u0627\u06af\u06cc\u0646 Nginx\/Apache \u0631\u0627 \u0628\u0647 standalone \u062a\u0631\u062c\u06cc\u062d \u0628\u062f\u0647\u06cc\u062f. \u0628\u0631\u0627\u06cc Nginx\u060c \u0645\u0642\u0627\u0644\u0647 \u00ab\u0627\u0645\u0646\u200c\u0633\u0627\u0632\u06cc Nginx \u0628\u0627 Let&#8217;s Encrypt \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u00bb \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc Apache\u060c \u0645\u0642\u0627\u0644\u0647 \u00ab\u0627\u0645\u0646\u200c\u0633\u0627\u0632\u06cc Apache \u0628\u0627 Let&#8217;s Encrypt \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648\u00bb \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627\u06cc\u062c \u062d\u0627\u0644\u062a Standalone<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0634\u063a\u0627\u0644 \u0628\u0648\u062f\u0646 \u0627\u0632 \u0642\u0628\u0644\u0650 \u067e\u0648\u0631\u062a 80 (\u200fEADDRINUSE)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u067e\u0631\u0648\u0633\u0647 \u062f\u06cc\u06af\u0631\u06cc \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0645\u062a\u0635\u0644 \u0628\u0627\u0634\u062f\u060c Certbot \u0628\u0627 \u062e\u0637\u0627\u06cc <code>OSError: [Errno 98] Address already in use<\/code> \u0634\u06a9\u0633\u062a \u0645\u06cc\u200c\u062e\u0648\u0631\u062f. \u067e\u0631\u0648\u0633\u0647 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631\u200c\u062f\u0627\u0631\u0646\u062f\u0647 \u067e\u0648\u0631\u062a \u0631\u0627 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ss -tlnp 'sport = :80'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>State  Recv-Q Send-Q Local Address:Port  Peer Address:Port Process\nLISTEN 0      511          0.0.0.0:80         0.0.0.0:*     users:((\"nginx\",pid=1234,fd=6))<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u0631\u0648\u06cc\u0633 \u0645\u0632\u0627\u062d\u0645 \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f (\u0645\u062b\u0627\u0644: Nginx):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl stop nginx<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u067e\u0633 \u062f\u0633\u062a\u0648\u0631 <code>certbot certonly --standalone<\/code> \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u067e\u0633 \u0627\u0632 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc\u060c \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl start nginx<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0645\u0633\u062f\u0648\u062f \u0628\u0648\u062f\u0646 \u067e\u0648\u0631\u062a 80 \u062a\u0648\u0633\u0637 \u0641\u0627\u06cc\u0631\u0648\u0627\u0644<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0686\u0627\u0644\u0634 HTTP-01 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 ACME \u0634\u06a9\u0633\u062a \u0645\u06cc\u200c\u062e\u0648\u0631\u062f \u0627\u06af\u0631 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc Let&#8217;s Encrypt \u0646\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0631\u0648\u06cc IP \u0639\u0645\u0648\u0645\u06cc \u062f\u0627\u0645\u0646\u0647 \u0634\u0645\u0627 \u0628\u0631\u0633\u0646\u062f. \u0648\u0636\u0639\u06cc\u062a \u0641\u0639\u0644\u06cc UFW \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw status<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Status: active\n\nTo                         Action      From\n--                         ------      ----\n22\/tcp                     ALLOW       Anywhere\n443                        ALLOW       Anywhere\n22\/tcp (v6)                ALLOW       Anywhere (v6)\n443 (v6)                   ALLOW       Anywhere (v6)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u067e\u0648\u0631\u062a 80 \u062f\u0631 \u0641\u0647\u0631\u0633\u062a \u0645\u062c\u0627\u0632\u0647\u0627 \u0646\u06cc\u0633\u062a\u060c \u0622\u0646 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 80<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Rule added\nRule added (v6)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc\u060c \u0627\u06af\u0631 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0634\u0645\u0627 HTTP \u0633\u0631\u0648 \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0642\u0627\u0646\u0648\u0646 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw delete allow 80<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Rule deleted\nRule deleted (v6)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062e\u0637\u0627\u0647\u0627\u06cc Binding \u062f\u0648-Stack\u06cc IPv4\/IPv6<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0628\u0631\u062e\u06cc \u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc Docker \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc VPS\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a Certbot \u0628\u0647 \u062f\u0644\u06cc\u0644 \u062a\u062f\u0627\u062e\u0644\u200c\u0647\u0627\u06cc Dual-Stack \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 IPv4\/IPv6 \u0646\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u062e\u0637\u0627 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0647 \u0627\u06cc\u0646 \u0634\u06a9\u0644 \u0627\u0633\u062a: \u00abProblem binding to port 80: Could not bind to IPv4 or IPv6\u00bb. \u0627\u0632 \u0641\u0644\u06af \u200e&#8211;preferred-challenges \u0628\u0631\u0627\u06cc \u062a\u062d\u0645\u06cc\u0644 \u0635\u0631\u06cc\u062d \u0686\u0627\u0644\u0634 HTTP-01 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo certbot certonly --standalone --preferred-challenges http-01 -d your_domain<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u062f\u0627\u062e\u0644 \u06cc\u06a9 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 Docker \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u067e\u0648\u0631\u062a 80 \u0627\u0632 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0628\u0647 \u0647\u0627\u0633\u062a \u0646\u06af\u0627\u0634\u062a \u0634\u062f\u0647 \u0648 \u0647\u06cc\u0686 \u067e\u0631\u0648\u0633\u0647\u200c\u0627\u06cc \u062f\u0631 \u0633\u0637\u062d \u0647\u0627\u0633\u062a \u0647\u0645 \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0645\u062a\u0635\u0644 \u0646\u06cc\u0633\u062a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0634\u06a9\u0633\u062a \u0686\u0627\u0644\u0634 \u0628\u0627 \u0628\u0627\u0632 \u0628\u0648\u062f\u0646 \u067e\u0648\u0631\u062a 80 (\u0639\u062f\u0645 \u062a\u0637\u0627\u0628\u0642 DNS\/IPv6)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 Certbot \u062e\u0637\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f Connection refused \u06cc\u0627 Timeout during connect \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f \u2014 \u062f\u0631\u062d\u0627\u0644\u06cc\u200c\u06a9\u0647 UFW \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0645\u062c\u0627\u0632 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u2014 \u0639\u0644\u062a \u0627\u063a\u0644\u0628 \u06cc\u06a9 \u0631\u06a9\u0648\u0631\u062f AAAA \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 DNS \u0627\u0633\u062a. Let&#8217;s Encrypt \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc\u200c\u062f\u0647\u062f \u0627\u0632 IPv6 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u062f \u0648 \u0627\u0628\u062a\u062f\u0627 \u062a\u0644\u0627\u0634 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 IPv6 \u0628\u0647 \u062f\u0627\u0645\u0646\u0647 \u0634\u0645\u0627 \u0628\u0631\u0633\u062f. \u0627\u06af\u0631 \u062f\u0627\u0645\u0646\u0647 \u0634\u0645\u0627 \u0631\u06a9\u0648\u0631\u062f AAAA\u0627\u06cc \u062f\u0627\u0631\u062f \u06a9\u0647 \u0628\u0647 \u0622\u062f\u0631\u0633\u06cc \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0639\u0645\u0644\u0627\u064b \u0631\u0648\u06cc \u067e\u0648\u0631\u062a 80 \u0633\u0631\u0648 \u0646\u0645\u06cc\u200c\u062f\u0647\u062f\u060c \u0686\u0627\u0644\u0634 \u0641\u0627\u0631\u063a \u0627\u0632 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0641\u0627\u06cc\u0631\u0648\u0627\u0644 IPv4 \u0634\u0645\u0627 \u0634\u06a9\u0633\u062a \u0645\u06cc\u200c\u062e\u0648\u0631\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u062f\u0627\u0645\u0646\u0647 \u0634\u0645\u0627 \u0631\u06a9\u0648\u0631\u062f AAAA \u062f\u0627\u0631\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dig AAAA your_domain<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>;; ANSWER SECTION:\nyour_domain.    300    IN    AAAA    2001:db8::1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0631\u06a9\u0648\u0631\u062f AAAA \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u0627\u0645\u0627 \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 IPv6 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc\u200c\u0646\u0634\u062f\u0647 \u062f\u0627\u0631\u062f\u060c \u06cc\u0627 \u0631\u06a9\u0648\u0631\u062f AAAA \u0631\u0627 \u0627\u0632 \u0627\u0631\u0627\u0626\u0647\u200c\u062f\u0647\u0646\u062f\u0647 DNS \u062e\u0648\u062f \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u0622\u062f\u0631\u0633 IPv6 \u0633\u0631\u0648\u0631 \u0647\u0645 \u0631\u0648\u06cc \u067e\u0648\u0631\u062a 80 \u06af\u0648\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f. \u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u062f\u0633\u062a\u0631\u0633\u200c\u067e\u0630\u06cc\u0631\u06cc \u067e\u0648\u0631\u062a 80 \u0631\u0648\u06cc IPv6:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ss -tlnp 'sport = :80'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u0631\u0648\u062c\u06cc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>State  Recv-Q Send-Q Local Address:Port  Peer Address:Port Process\nLISTEN 0      511          0.0.0.0:80         0.0.0.0:*     users:((\"nginx\",pid=1234,fd=6))\nLISTEN 0      511             &#91;::]:80            &#91;::]:*     users:((\"nginx\",pid=1234,fd=6))<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 Dual-Stack \u0627\u0633\u062a\u060c \u0628\u0627\u06cc\u062f \u0647\u0645 \u0648\u0631\u0648\u062f\u06cc IPv4 (\u200f0.0.0.0:80) \u0648 \u0647\u0645 \u0648\u0631\u0648\u062f\u06cc IPv6 (\u200f[::]:80) \u0638\u0627\u0647\u0631 \u0634\u0648\u0646\u062f. \u0627\u06af\u0631 \u0641\u0642\u0637 \u0648\u0631\u0648\u062f\u06cc IPv4 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u0648 \u0631\u06a9\u0648\u0631\u062f AAAA \u0647\u0645 \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a\u060c \u0686\u0627\u0644\u0634 Let&#8217;s Encrypt \u0634\u06a9\u0633\u062a \u062e\u0648\u0627\u0647\u062f \u062e\u0648\u0631\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0633\u0648\u0627\u0644\u0627\u062a \u0645\u062a\u062f\u0627\u0648\u0644<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u062d\u0627\u0644\u062a Standalone \u062f\u0631 Certbot \u0686\u06cc\u0633\u062a \u0648 \u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u0628\u0627\u06cc\u062f \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u062d\u0627\u0644\u062a Standalone\u060c Certbot \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0645\u0648\u0642\u062a \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0627\u0634\u063a\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0648 \u06cc\u06a9 \u062a\u0648\u06a9\u0646 \u062a\u0623\u06cc\u06cc\u062f \u0631\u0627 \u062f\u0631 \u06cc\u06a9 URL \u0634\u0646\u0627\u062e\u062a\u0647\u200c\u0634\u062f\u0647 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f. Let&#8217;s Encrypt \u0622\u0646 \u062a\u0648\u06a9\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u062a\u0631\u0644 \u0634\u0645\u0627 \u0631\u0648\u06cc \u062f\u0627\u0645\u0646\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u0647 \u0648 \u0633\u067e\u0633 \u06af\u0648\u0627\u0647\u06cc \u0631\u0627 \u0635\u0627\u062f\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0632 \u062d\u0627\u0644\u062a Standalone \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648\u0642\u062a\u06cc \u0647\u06cc\u0686 \u0648\u0628\u200c\u0633\u0631\u0648\u0631\u06cc \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0634\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0646\u06cc\u0633\u062a\u060c \u06cc\u0627 \u0648\u0642\u062a\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u0645\u0646\u200c\u0633\u0627\u0632\u06cc \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u063a\u06cc\u0631 HTTP \u2014 \u0645\u0627\u0646\u0646\u062f \u0633\u0631\u0648\u0631 \u0627\u06cc\u0645\u06cc\u0644\u060c \u0628\u0631\u0648\u06a9\u0631 MQTT \u06cc\u0627 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 TCP \u0633\u0641\u0627\u0631\u0634\u06cc \u2014 \u0647\u0633\u062a\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0622\u06cc\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc Certbot \u062f\u0631 \u062d\u0627\u0644\u062a Standalone \u0628\u0627\u06cc\u062f \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u0645\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0644\u0647. \u062d\u0627\u0644\u062a Standalone \u062f\u0631 Certbot \u0628\u0631\u0627\u06cc \u0647\u0646\u062f\u0644 \u0686\u0627\u0644\u0634 ACME \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0645\u062a\u0635\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06af\u0631 Nginx \u06cc\u0627 Apache \u0627\u0632 \u0642\u0628\u0644 \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0645\u062a\u0635\u0644 \u0628\u0627\u0634\u062f\u060c Certbot \u0628\u0627 \u062e\u0637\u0627\u06cc Binding \u0634\u06a9\u0633\u062a \u0645\u06cc\u200c\u062e\u0648\u0631\u062f. \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc <code>sudo certbot certonly --standalone<\/code> \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0631\u062f\u0647 \u0648 \u067e\u0633 \u0627\u0632 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc \u062f\u0648\u0628\u0627\u0631\u0647 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0686\u0637\u0648\u0631 \u06cc\u06a9 \u06af\u0648\u0627\u0647\u06cc Let&#8217;s Encrypt \u062f\u0631\u06cc\u0627\u0641\u062a\u200c\u0634\u062f\u0647 \u0628\u0627 \u062d\u0627\u0644\u062a Standalone \u0631\u0627 \u062a\u0645\u062f\u06cc\u062f \u06a9\u0646\u0645\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Certbot \u0646\u0635\u0628\u200c\u0634\u062f\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 snap \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u06cc\u06a9 \u062a\u0627\u06cc\u0645\u0631 systemd (\u200fsnap.certbot.renew.timer) \u062b\u0628\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0631\u0648\u0632\u06cc \u062f\u0648 \u0628\u0627\u0631 certbot renew \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u062d\u0627\u0644\u062a Standalone\u060c \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc Pre-Hook \u0648 Post-Hook \u0631\u0627 \u0637\u0648\u0631\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633\u0650 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631\u200c\u062f\u0627\u0631\u0646\u062f\u0647 \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u0648 \u0645\u062c\u062f\u062f\u0627\u064b \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u0646\u062f\u061b \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0644\u06af\u200c\u0647\u0627\u06cc \u200e&#8211;pre-hook \u0648 \u200e&#8211;post-hook \u06cc\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \/etc\/letsencrypt\/renewal-hooks\/ \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f. \u0641\u0631\u0627\u06cc\u0646\u062f \u0631\u0627 \u0628\u0627 <code>sudo certbot renew --dry-run<\/code> \u062a\u0633\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u06af\u0648\u0627\u0647\u06cc \u0628\u0639\u062f \u0627\u0632 \u0635\u062f\u0648\u0631 \u062a\u0648\u0633\u0637 Certbot \u06a9\u062c\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627 \u062f\u0631 \/etc\/letsencrypt\/live\/your_domain\/ \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u06cc\u0634\u062a\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0644\u0627\u0632\u0645 \u062f\u0627\u0631\u0646\u062f \u0639\u0628\u0627\u0631\u062a\u200c\u0627\u0646\u062f \u0627\u0632 fullchain.pem (\u0632\u0646\u062c\u06cc\u0631\u0647 \u06a9\u0627\u0645\u0644 \u06af\u0648\u0627\u0647\u06cc \u06a9\u0647 \u0628\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u06af\u0648\u0627\u0647\u06cc SSL \u067e\u0627\u0633 \u0645\u06cc\u200c\u0634\u0648\u062f)\u060c privkey.pem (\u06a9\u0644\u06cc\u062f \u062e\u0635\u0648\u0635\u06cc)\u060c cert.pem (\u0641\u0642\u0637 \u06af\u0648\u0627\u0647\u06cc End-Entity) \u0648 chain.pem (\u0641\u0642\u0637 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0645\u06cc\u0627\u0646\u06cc).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u06af\u0631 \u067e\u0648\u0631\u062a 80 \u062f\u0631 \u0637\u0648\u0644 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc \u062a\u0648\u0633\u0637 \u0641\u0627\u06cc\u0631\u0648\u0627\u0644 \u0645\u0633\u062f\u0648\u062f \u0628\u0627\u0634\u062f \u0686\u0647 \u0627\u062a\u0641\u0627\u0642\u06cc \u0645\u06cc\u200c\u0627\u0641\u062a\u062f\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0686\u0627\u0644\u0634 HTTP-01 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 ACME \u0634\u06a9\u0633\u062a \u0645\u06cc\u200c\u062e\u0648\u0631\u062f\u061b \u0686\u0648\u0646 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc Let&#8217;s Encrypt \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0631\u0648\u06cc \u062f\u0627\u0645\u0646\u0647 \u0634\u0645\u0627 \u0628\u0631\u0633\u0646\u062f. \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0628\u0627 <code>sudo ufw allow 80<\/code> \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f\u060c \u062f\u0633\u062a\u0648\u0631 certbot \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u0647 \u0648 \u0633\u067e\u0633 \u0627\u06af\u0631 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0634\u0645\u0627 HTTP \u0633\u0631\u0648 \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0627 <code>sudo ufw delete allow 80<\/code> \u0628\u0628\u0646\u062f\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0622\u06cc\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0645 \u0627\u0632 \u062d\u0627\u0644\u062a Standalone \u062f\u0631 Certbot \u062f\u0627\u062e\u0644 \u06cc\u06a9 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 Docker \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0644\u0647\u061b \u0627\u0645\u0627 \u067e\u0648\u0631\u062a 80 \u0628\u0627\u06cc\u062f \u0627\u0632 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0628\u0647 \u0647\u0627\u0633\u062a \u0646\u06af\u0627\u0634\u062a \u0634\u062f\u0647 \u0628\u0627\u0634\u062f \u0648 \u0647\u06cc\u0686 \u067e\u0631\u0648\u0633\u0647\u200c\u0627\u06cc \u062f\u0631 \u0633\u0637\u062d \u0647\u0627\u0633\u062a \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0647\u0645\u200c\u0632\u0645\u0627\u0646 \u0628\u0647 \u067e\u0648\u0631\u062a 80 \u0645\u062a\u0635\u0644 \u0628\u0627\u0634\u062f. \u0645\u0634\u06a9\u0644\u0627\u062a Dual-Stack \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 IPv4\/IPv6 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062f\u0631 \u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc Docker \u0628\u0627\u0639\u062b \u0634\u06a9\u0633\u062a Binding \u0634\u0648\u0646\u062f. \u0627\u06af\u0631 \u0628\u0627 \u062e\u0637\u0627\u06cc Dual-Stack \u0631\u0648\u0628\u0631\u0648 \u0634\u062f\u06cc\u062f\u060c \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u0628\u06a9\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0634\u0645\u0627 \u0646\u06af\u0627\u0634\u062a \u062f\u0631\u0633\u062a \u067e\u0648\u0631\u062a \u0631\u0627 \u0645\u0645\u06a9\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f\u061b \u06cc\u0627 \u200e&#8211;preferred-challenges http-01 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u062d\u0645\u06cc\u0644 \u0635\u0631\u06cc\u062d \u0686\u0627\u0644\u0634 HTTP-01 \u067e\u0627\u0633 \u0628\u062f\u0647\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u06cc\u06a9 \u06af\u0648\u0627\u0647\u06cc Let&#8217;s Encrypt \u0686\u0642\u062f\u0631 \u0627\u0639\u062a\u0628\u0627\u0631 \u062f\u0627\u0631\u062f \u0648 \u0647\u0631 \u0686\u0646\u062f \u0648\u0642\u062a \u06cc\u06a9\u200c\u0628\u0627\u0631 \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc\u200c\u0634\u0648\u062f\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc Let&#8217;s Encrypt \u06f9\u06f0 \u0631\u0648\u0632 \u0627\u0639\u062a\u0628\u0627\u0631 \u062f\u0627\u0631\u0646\u062f. \u062a\u0627\u06cc\u0645\u0631 systemd \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Certbot \u0648\u0642\u062a\u06cc \u06af\u0648\u0627\u0647\u06cc \u062f\u0631 \u0641\u0627\u0635\u0644\u0647 \u06f3\u06f0 \u0631\u0648\u0632\u06cc \u0627\u0632 \u0627\u0646\u0642\u0636\u0627 \u0628\u0627\u0634\u062f\u060c \u062a\u0645\u062f\u06cc\u062f \u0631\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06af\u0631 \u0647\u0648\u06a9\u200c\u0647\u0627\u06cc Pre\/Post \u0628\u0647\u200c\u062f\u0631\u0633\u062a\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0628\u0627\u0634\u0646\u062f \u0648 \u067e\u0648\u0631\u062a 80 \u062f\u0631 \u0632\u0645\u0627\u0646 \u062a\u0645\u062f\u06cc\u062f \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0627\u0634\u062f\u060c \u0647\u06cc\u0686 \u0645\u062f\u0627\u062e\u0644\u0647 \u062f\u0633\u062a\u06cc \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0622\u06cc\u0627 snap \u0631\u0648\u0634 \u062a\u0648\u0635\u06cc\u0647\u200c\u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 Certbot \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0627\u0633\u062a\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0644\u0647. EFF \u0646\u0635\u0628 Certbot \u0627\u0632 \u0637\u0631\u06cc\u0642 snap \u0631\u0627 \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 22.04 \u0648 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f\u062a\u0631 \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u067e\u06a9\u06cc\u062c apt \u0628\u0627 \u0646\u0627\u0645 python3-certbot \u062f\u06cc\u06af\u0631 \u0628\u0627\u0644\u0627\u062f\u0633\u062a\u06cc \u0628\u0647\u200c\u0637\u0648\u0631 \u0641\u0639\u0627\u0644 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0646\u0645\u06cc\u200c\u0634\u0648\u062f. \u0646\u0635\u0628 \u0627\u0632 \u0637\u0631\u06cc\u0642 snap \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0622\u062e\u0631\u06cc\u0646 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc Certbot \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0645\u06a9\u0627\u0646\u06cc\u0632\u0645 snap refresh \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c Certbot \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 snap \u0631\u0648\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0646\u0635\u0628 \u06a9\u0631\u062f\u06cc\u062f\u061b \u0641\u0627\u06cc\u0631\u0648\u0627\u0644 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u062c\u0627\u0632 \u062f\u0627\u0646\u0633\u062a\u0646 \u0686\u0627\u0644\u0634 HTTP-01 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 ACME \u0631\u0648\u06cc \u067e\u0648\u0631\u062a 80 \u0648 \u062a\u0631\u0627\u0641\u06cc\u06a9 HTTPS \u0631\u0648\u06cc \u067e\u0648\u0631\u062a 443 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f\u06cc\u062f\u061b \u0628\u0627 <code>certbot certonly --standalone<\/code> \u06af\u0648\u0627\u0647\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u06cc\u062f\u061b \u062c\u0632\u0626\u06cc\u0627\u062a \u06af\u0648\u0627\u0647\u06cc \u0631\u0627 \u0628\u0627 openssl \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0631\u062f\u06cc\u062f\u061b \u0648 \u062a\u0645\u062f\u06cc\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc Pre-Hook \u0648 Post-Hook \u062f\u0631 \u06a9\u0646\u0627\u0631 \u062a\u0627\u06cc\u0645\u0631 systemd \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Certbot \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u06af\u0648\u0627\u0647\u06cc \u062f\u0631 \/etc\/letsencrypt\/live\/your_domain\/ \u0627\u06a9\u0646\u0648\u0646 \u0628\u0631\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc TLS \u0628\u0631\u0627\u06cc \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f \u062f\u0631 \u062f\u0633\u062a\u0631\u0633\u200c\u0627\u0646\u062f. \u06af\u0648\u0627\u0647\u06cc \u0628\u062f\u0648\u0646 \u0645\u062f\u0627\u062e\u0644\u0647 \u062f\u0633\u062a\u06cc \u0628\u0647\u200c\u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc\u200c\u0634\u0648\u062f\u061b \u0628\u0647 \u0634\u0631\u0637\u06cc \u06a9\u0647 \u0647\u0648\u06a9\u200c\u0647\u0627\u06cc Pre\/Post \u062f\u0631 \u0647\u0631 \u062a\u0644\u0627\u0634 \u062a\u0645\u062f\u06cc\u062f\u060c \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0622\u0632\u0627\u062f \u0646\u06af\u0647 \u062f\u0627\u0631\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0642\u062f\u0645\u0647 Let&#8217;s Encrypt \u06cc\u06a9 \u0645\u0631\u062c\u0639 \u0635\u062f\u0648\u0631 \u06af\u0648\u0627\u0647\u06cc (CA) \u0631\u0627\u06cc\u06af\u0627\u0646 \u0648 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0633\u062a \u06a9\u0647 \u062a\u0648\u0633\u0637 \u06af\u0631\u0648\u0647 \u062a\u062d\u0642\u06cc\u0642\u0627\u062a\u06cc \u0627\u0645\u0646\u06cc\u062a \u0627\u06cc\u0646\u062a\u0631\u0646\u062a (ISRG) \u2014 \u06cc\u06a9 \u0633\u0627\u0632\u0645\u0627\u0646 \u063a\u06cc\u0631\u0627\u0646\u062a\u0641\u0627\u0639\u06cc \u2014 \u0627\u062f\u0627\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062d\u0627\u0644\u062a Standalone \u062f\u0631 Certbot\u060c \u06cc\u06a9 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u062f\u0627\u062e\u0644\u06cc\u0650 \u0645\u0648\u0642\u062a \u0631\u0648\u06cc \u067e\u0648\u0631\u062a 80 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0686\u0627\u0644\u0634 HTTP-01 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 ACME \u0631\u0627 \u06a9\u0647 \u0627\u0632 \u0633\u0648\u06cc API \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Let&#8217;s Encrypt \u0635\u0627\u062f\u0631 &hellip;<\/p>\n","protected":false},"author":9,"featured_media":7159,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[258,150],"tags":[],"class_list":["post-7157","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ubuntu","category-linux"],"_links":{"self":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/7157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/comments?post=7157"}],"version-history":[{"count":1,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/7157\/revisions"}],"predecessor-version":[{"id":7158,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/7157\/revisions\/7158"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media\/7159"}],"wp:attachment":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media?parent=7157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/categories?post=7157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/tags?post=7157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}