{"id":5541,"date":"2026-09-11T01:55:48","date_gmt":"2026-09-10T22:55:48","guid":{"rendered":"https:\/\/maram.iq\/blogs\/?p=5541"},"modified":"2026-09-11T01:55:48","modified_gmt":"2026-09-10T22:55:48","slug":"maram-nginx-domain-free-ssl","status":"publish","type":"post","link":"https:\/\/maram.iq\/blogs\/maram-nginx-domain-free-ssl\/","title":{"rendered":"\u062a\u062b\u0628\u064a\u062a Nginx \u0648\u0631\u0628\u0637 \u062f\u0648\u0645\u064a\u0646 \u0648\u0634\u0647\u0627\u062f\u0629 SSL \u0645\u062c\u0627\u0646\u064a\u0629 \u0639\u0644\u0649 \u0633\u064a\u0631\u0641\u0631\u0643 \u2014 \u062e\u0637\u0648\u0629 \u0628\u062e\u0637\u0648\u0629"},"content":{"rendered":"\n<p>\u0639\u0646\u062f\u0643 \u0633\u064a\u0631\u0641\u0631 \u0644\u064a\u0646\u0643\u0633 \u0641\u064a \u0645\u0631\u0627\u0645 \u0647\u0648\u0633\u062a \u0648\u062f\u0648\u0645\u064a\u0646\u060c \u0648\u062a\u0631\u064a\u062f \u0623\u0646 \u064a\u0641\u062a\u062d \u0645\u0648\u0642\u0639\u0643 \u0639\u0644\u0649 <code>https:\/\/<\/code> \u0628\u0642\u0641\u0644 \u0623\u062e\u0636\u0631\u061f \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u062f\u0644\u064a\u0644 \u0627\u0644\u0634\u0627\u0645\u0644 \u0646\u0646\u0635\u0651\u0628 <strong>Nginx<\/strong>\u060c \u0648\u0646\u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u0627\u0644\u0633\u064a\u0631\u0641\u0631\u060c \u062b\u0645 \u0646\u062d\u0635\u0644 \u0639\u0644\u0649 <strong>\u0634\u0647\u0627\u062f\u0629 SSL \u0645\u062c\u0627\u0646\u064a\u0629<\/strong> \u0645\u0646 Let&#8217;s Encrypt \u062a\u062a\u062c\u062f\u062f \u0648\u062d\u062f\u0647\u0627. \u0646\u0641\u0651\u0630\u0646\u0627 \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0643\u0644\u0647\u0627 \u0639\u0644\u0649 \u0633\u064a\u0631\u0641\u0631 \u062d\u0642\u064a\u0642\u064a \u0648\u062d\u0635\u0644\u0646\u0627 \u0639\u0644\u0649 \u0634\u0647\u0627\u062f\u0629 \u0641\u0639\u0644\u064a\u0629\u060c \u0648\u0647\u0630\u0647 \u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a \u0643\u0645\u0627 \u0638\u0647\u0631\u062a.<\/p>\n\n\n\n<div class=\"quick-answer\" style=\"background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:16px 18px;margin:1.5rem 0;\"><p style=\"font-weight:700;color:#0369a1;margin:0 0 8px;font-size:1.02rem;\">&#9889; \u0627\u0644\u0625\u062c\u0627\u0628\u0629 \u0627\u0644\u0645\u062e\u062a\u0635\u0631\u0629<\/p><p style=\"margin:0;line-height:1.9;\">\u0648\u062c\u0651\u0647 \u0633\u062c\u0644 <strong>A<\/strong> \u0644\u0644\u062f\u0648\u0645\u064a\u0646 \u0625\u0644\u0649 \u0639\u0646\u0648\u0627\u0646 \u0633\u064a\u0631\u0641\u0631\u0643\u060c \u062b\u0645: <code>sudo apt install -y nginx<\/code>\u060c \u0648\u0623\u0646\u0634\u0626 \u0645\u0644\u0641 \u0627\u0644\u0645\u0648\u0642\u0639 \u0641\u064a <code>\/etc\/nginx\/sites-available\/<\/code> \u0645\u0639 <code>server_name<\/code> \u062f\u0648\u0645\u064a\u0646\u0643\u060c \u0648\u0641\u0639\u0651\u0644\u0647 \u0648<code>sudo nginx -t &amp;&amp; sudo systemctl reload nginx<\/code>\u060c \u0648\u0623\u062e\u064a\u0631\u064b\u0627 <code>sudo apt install -y certbot python3-certbot-nginx &amp;&amp; sudo certbot --nginx -d \u062f\u0648\u0645\u064a\u0646\u0643 --redirect<\/code>.<\/p><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"before\">\u0642\u0628\u0644 \u0623\u0646 \u062a\u0628\u062f\u0623<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0627\u0644\u0645\u0646\u0641\u0630\u0627\u0646 80 \u0648443 \u0645\u0641\u062a\u0648\u062d\u0627\u0646<\/strong> \u0641\u064a \u062c\u062f\u0627\u0631 \u0644\u0648\u062d\u0629 \u0645\u0631\u0627\u0645 \u0648\u0641\u064a ufw \u2014 \u0648\u0647\u0645\u0627 \u0645\u0641\u062a\u0648\u062d\u0627\u0646 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u064b\u0627 \u0641\u064a \u0642\u0648\u0627\u0644\u0628 \u0645\u0631\u0627\u0645. \u0625\u0646 \u063a\u064a\u0651\u0631\u062a \u0634\u064a\u0626\u064b\u0627 \u0631\u0627\u062c\u0639 <a href=\"https:\/\/maram.iq\/blogs\/maram-vps-panel-firewall\/\">\u062f\u0644\u064a\u0644 \u062c\u062f\u0627\u0631 \u0627\u0644\u062d\u0645\u0627\u064a\u0629<\/a>.<\/li>\n\n\n\n<li><strong>\u0644\u0627 \u064a\u0633\u062a\u0639\u0645\u0644 \u0628\u0631\u0646\u0627\u0645\u062c \u0622\u062e\u0631 \u0627\u0644\u0645\u0646\u0641\u0630\u064a\u0646<\/strong> (\u0645\u062b\u0644 Apache \u0623\u0648 \u062d\u0627\u0648\u064a\u0629 Docker). \u0627\u0641\u062d\u0635 \u0628\u0640<code>sudo ss -tlnp | grep -E \":80 |:443 \"<\/code>. \u0641\u064a \u0633\u064a\u0631\u0641\u0631\u0646\u0627 \u0643\u0627\u0646\u062a \u062d\u0627\u0648\u064a\u0629 Caddy \u062a\u0633\u062a\u0639\u0645\u0644\u0647\u0645\u0627 \u0641\u0623\u0648\u0642\u0641\u0646\u0627\u0647\u0627 \u0623\u0648\u0644\u064b\u0627.<\/li>\n\n\n\n<li>\u062f\u0648\u0645\u064a\u0646 \u062a\u0645\u0644\u0643\u0647 (\u0645\u0646 \u0645\u0631\u0627\u0645 \u0623\u0648 \u0623\u064a \u0645\u0633\u062c\u0651\u0644). \u0641\u064a \u0627\u0644\u0623\u0645\u062b\u0644\u0629 \u0646\u0633\u062a\u0639\u0645\u0644 <code>203-0-113-10.sslip.io<\/code> \u2014 \u0636\u0639 \u062f\u0648\u0645\u064a\u0646\u0643 \u0645\u0643\u0627\u0646\u0647.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dns\">\u0627\u0644\u062e\u0637\u0648\u0629 1: \u0627\u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u0627\u0644\u0633\u064a\u0631\u0641\u0631 (\u0633\u062c\u0644 A)<\/h2>\n\n\n\n<p>\u0645\u0646 \u0644\u0648\u062d\u0629 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 (\u0641\u064a \u0645\u0631\u0627\u0645: <strong>\u0627\u0644\u0646\u0637\u0627\u0642\u0627\u062a \u2190 \u0625\u062f\u0627\u0631\u0629 DNS<\/strong>\u060c \u0623\u0648 \u0644\u0648\u062d\u0629 Cloudflare \u0625\u0646 \u0643\u0646\u062a \u062a\u0633\u062a\u0639\u0645\u0644\u0647\u0627) \u0623\u0636\u0641 \u0633\u062c\u0644\u064a\u0646:<\/p>\n\n\n\n<div style=\"border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin:1.5rem 0;max-width:640px;\"><div style=\"display:grid;grid-template-columns:.6fr 1fr 1.4fr;background:#f8fafc;font-weight:700;padding:12px 16px;border-bottom:1px solid #e2e8f0;\"><span>\u0627\u0644\u0646\u0648\u0639<\/span><span>\u0627\u0644\u0627\u0633\u0645<\/span><span>\u0627\u0644\u0642\u064a\u0645\u0629<\/span><\/div><div style=\"display:grid;grid-template-columns:.6fr 1fr 1.4fr;padding:10px 16px;border-bottom:1px solid #f1f5f9;\"><span>A<\/span><span><code>@<\/code> (\u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0646\u0641\u0633\u0647)<\/span><span>\u0639\u0646\u0648\u0627\u0646 IP \u0633\u064a\u0631\u0641\u0631\u0643<\/span><\/div><div style=\"display:grid;grid-template-columns:.6fr 1fr 1.4fr;padding:10px 16px;\"><span>A<\/span><span><code>www<\/code><\/span><span>\u0639\u0646\u0648\u0627\u0646 IP \u0633\u064a\u0631\u0641\u0631\u0643<\/span><\/div><\/div>\n\n\n\n<p>\u062b\u0645 \u062a\u0623\u0643\u062f \u0623\u0646 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u064a\u0634\u064a\u0631 \u0625\u0644\u0649 \u0633\u064a\u0631\u0641\u0631\u0643 (\u0642\u062f \u064a\u0633\u062a\u063a\u0631\u0642 \u0627\u0644\u0627\u0646\u062a\u0634\u0627\u0631 \u0645\u0646 \u062f\u0642\u0627\u0626\u0642 \u0625\u0644\u0649 \u0633\u0627\u0639\u0627\u062a) \u2014 \u0645\u0646 \u0623\u064a \u062c\u0647\u0627\u0632:<\/p>\n\n\n\n<pre class=\"wp-block-code\" dir=\"ltr\" style=\"text-align:left\"><code>nslookup 203-0-113-10.sslip.io 1.1.1.1\n# Name:    203-0-113-10.sslip.io\n# Address: 203.0.113.10          \u2190 \u064a\u062c\u0628 \u0623\u0646 \u064a\u0638\u0647\u0631 \u0639\u0646\u0648\u0627\u0646 \u0633\u064a\u0631\u0641\u0631\u0643<\/code><\/pre>\n\n\n\n<p><strong>\u0625\u0646 \u0643\u0646\u062a \u062a\u0633\u062a\u0639\u0645\u0644 Cloudflare:<\/strong> \u0627\u062c\u0639\u0644 \u0627\u0644\u0633\u062d\u0627\u0628\u0629 \u0631\u0645\u0627\u062f\u064a\u0629 (DNS only) \u0623\u062b\u0646\u0627\u0621 \u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0634\u0647\u0627\u062f\u0629\u060c \u062b\u0645 \u0641\u0639\u0651\u0644\u0647\u0627 \u0628\u0639\u062f \u0630\u0644\u0643 \u0645\u0639 \u0648\u0636\u0639 SSL <strong>Full (strict)<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"install\">\u0627\u0644\u062e\u0637\u0648\u0629 2: \u062b\u0628\u0651\u062a Nginx<\/h2>\n\n\n\n<figure style=\"margin:1.5rem 0;text-align:center;\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/09\/nginx-install-status-port-80.webp\" alt=\"\u062a\u062b\u0628\u064a\u062a Nginx \u0648\u0627\u0644\u062a\u0623\u0643\u062f \u0623\u0646\u0647 \u064a\u0639\u0645\u0644 \u0648\u064a\u0633\u062a\u0645\u0639 \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0641\u0630 80\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.12);\"\/><figcaption style=\"color:#64748b;font-size:.9rem;margin-top:.5rem;\">\u0645\u062e\u0631\u062c\u0627\u062a \u062d\u0642\u064a\u0642\u064a\u0629<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"site\">\u0627\u0644\u062e\u0637\u0648\u0629 3: \u0645\u0644\u0641\u0627\u062a \u0645\u0648\u0642\u0639\u0643 \u0648\u0645\u0644\u0641 \u0627\u0644\u0625\u0639\u062f\u0627\u062f<\/h2>\n\n\n\n<p>\u0636\u0639 \u0645\u0644\u0641\u0627\u062a \u0645\u0648\u0642\u0639\u0643 \u0641\u064a \u0645\u062c\u0644\u062f \u0645\u062b\u0644 <code>\/var\/www\/shop<\/code> (\u0628\u0640<a href=\"https:\/\/maram.iq\/blogs\/maram-vps-file-transfer-compress\/\">scp \u0623\u0648 WinSCP<\/a>)\u060c \u062b\u0645 \u0623\u0646\u0634\u0626 \u0645\u0644\u0641 \u0625\u0639\u062f\u0627\u062f \u0644\u0644\u0645\u0648\u0642\u0639 \u0648\u0641\u0639\u0651\u0644\u0647 \u0648\u0627\u0641\u062d\u0635\u0647:<\/p>\n\n\n\n<pre class=\"wp-block-code\" dir=\"ltr\" style=\"text-align:left\"><code>sudo mkdir -p \/var\/www\/shop\nsudo chown -R www-data:www-data \/var\/www\/shop\nsudo nano \/etc\/nginx\/sites-available\/shop       # \u0627\u0644\u0635\u0642 \u0627\u0644\u0625\u0639\u062f\u0627\u062f \u0623\u062f\u0646\u0627\u0647<\/code><\/pre>\n\n\n\n<figure style=\"margin:1.5rem 0;text-align:center;\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/09\/nginx-server-block-test.webp\" alt=\"\u0645\u0644\u0641 server block \u0641\u064a Nginx \u0648\u0641\u062d\u0635\u0647 \u0628\u0623\u0645\u0631 nginx -t\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.12);\"\/><figcaption style=\"color:#64748b;font-size:.9rem;margin-top:.5rem;\">\u0645\u062e\u0631\u062c\u0627\u062a \u062d\u0642\u064a\u0642\u064a\u0629<\/figcaption><\/figure>\n\n\n\n<p>\u0648\u0627\u062d\u0630\u0641 \u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a \u062d\u062a\u0649 \u0644\u0627 \u062a\u0638\u0647\u0631 \u0635\u0641\u062d\u0629 \u00abWelcome to nginx\u00bb \u0628\u062f\u0644 \u0645\u0648\u0642\u0639\u0643: <code>sudo rm \/etc\/nginx\/sites-enabled\/default &amp;&amp; sudo systemctl reload nginx<\/code>. \u0648\u0627\u062c\u0647\u0646\u0627 \u0647\u0630\u0627 \u0641\u0639\u0644\u064b\u0627: \u0642\u0628\u0644 \u062d\u0630\u0641\u0647 \u0638\u0647\u0631\u062a \u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0641\u064a \u0623\u062d\u062f \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ssl\">\u0627\u0644\u062e\u0637\u0648\u0629 4: \u0634\u0647\u0627\u062f\u0629 SSL \u0645\u062c\u0627\u0646\u064a\u0629 \u0628\u0623\u0645\u0631 \u0648\u0627\u062d\u062f<\/h2>\n\n\n\n<p>\u0623\u062f\u0627\u0629 <strong>certbot<\/strong> \u062a\u0637\u0644\u0628 \u0627\u0644\u0634\u0647\u0627\u062f\u0629 \u0645\u0646 Let&#8217;s Encrypt\u060c \u0648\u062a\u0639\u062f\u0651\u0644 \u0645\u0644\u0641 Nginx \u0628\u0646\u0641\u0633\u0647\u0627\u060c \u0648\u062a\u0636\u064a\u0641 \u0627\u0644\u062a\u062d\u0648\u064a\u0644 \u0645\u0646 HTTP \u0625\u0644\u0649 HTTPS (<code>--redirect<\/code>):<\/p>\n\n\n\n<figure style=\"margin:1.5rem 0;text-align:center;\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/09\/certbot-nginx-lets-encrypt-success.webp\" alt=\"\u0625\u0635\u062f\u0627\u0631 \u0634\u0647\u0627\u062f\u0629 SSL \u0645\u062c\u0627\u0646\u064a\u0629 \u0628\u0623\u0645\u0631 certbot --nginx \u0648\u0646\u062c\u0627\u062d \u062a\u0641\u0639\u064a\u0644 HTTPS\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.12);\"\/><figcaption style=\"color:#64748b;font-size:.9rem;margin-top:.5rem;\">\u0645\u062e\u0631\u062c\u0627\u062a \u062d\u0642\u064a\u0642\u064a\u0629: \u0634\u0647\u0627\u062f\u0629 \u0635\u0627\u062f\u0631\u0629 \u0641\u0639\u0644\u064b\u0627<\/figcaption><\/figure>\n\n\n\n<p>\u0644\u0639\u062f\u0629 \u062f\u0648\u0645\u064a\u0646\u0627\u062a \u0623\u0636\u0641 \u0643\u0644 \u0648\u0627\u062d\u062f \u0628\u0640<code>-d<\/code>: <code>sudo certbot --nginx -d example.com -d www.example.com --redirect<\/code>. \u0648\u0641\u064a \u0623\u0648\u0644 \u062a\u0634\u063a\u064a\u0644 \u064a\u0633\u0623\u0644\u0643 \u0639\u0646 \u0628\u0631\u064a\u062f \u0644\u0644\u062a\u0646\u0628\u064a\u0647\u0627\u062a \u0648\u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0639\u0644\u0649 \u0627\u0644\u0634\u0631\u0648\u0637.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"verify\">\u0627\u0644\u062e\u0637\u0648\u0629 5: \u062a\u0623\u0643\u062f \u0645\u0646 HTTPS \u0648\u0627\u0644\u062a\u062c\u062f\u064a\u062f \u0627\u0644\u062a\u0644\u0642\u0627\u0626\u064a<\/h2>\n\n\n\n<p>\u0627\u0644\u0634\u0647\u0627\u062f\u0629 \u0635\u0627\u0644\u062d\u0629 90 \u064a\u0648\u0645\u064b\u0627\u060c \u0648certbot \u064a\u0636\u064a\u0641 \u0645\u0624\u0642\u062a\u064b\u0627 \u064a\u062c\u062f\u062f\u0647\u0627 \u0642\u0628\u0644 \u0627\u0646\u062a\u0647\u0627\u0626\u0647\u0627. \u062a\u0623\u0643\u062f \u0645\u0646 \u0630\u0644\u0643 \u0645\u0631\u0629 \u0648\u0627\u062d\u062f\u0629\u060c \u062b\u0645 \u0627\u0641\u062a\u062d \u0627\u0644\u0645\u0648\u0642\u0639 \u0645\u0646 \u062c\u0647\u0627\u0632\u0643:<\/p>\n\n\n\n<figure style=\"margin:1.5rem 0;text-align:center;\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/09\/certbot-renew-dry-run-https-check.webp\" alt=\"\u0645\u0624\u0642\u062a certbot \u0648\u062a\u062c\u0631\u0628\u0629 \u0627\u0644\u062a\u062c\u062f\u064a\u062f \u0648\u0641\u062d\u0635 HTTPS \u0645\u0646 \u0627\u0644\u062e\u0627\u0631\u062c\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.12);\"\/><figcaption style=\"color:#64748b;font-size:.9rem;margin-top:.5rem;\">\u0645\u062e\u0631\u062c\u0627\u062a \u062d\u0642\u064a\u0642\u064a\u0629<\/figcaption><\/figure>\n\n\n\n<figure style=\"margin:1.5rem 0;text-align:center;\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/09\/nginx-site-https-result.webp\" alt=\"\u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u062a\u062c\u0631\u064a\u0628\u064a \u062a\u0639\u0645\u0644 \u0639\u0644\u0649 HTTPS \u0628\u0639\u062f \u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0634\u0647\u0627\u062f\u0629\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.12);\"\/><figcaption style=\"color:#64748b;font-size:.9rem;margin-top:.5rem;\">\u0644\u0642\u0637\u0629 \u062d\u0642\u064a\u0642\u064a\u0629 \u0644\u0644\u0635\u0641\u062d\u0629<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"problems\">\u0645\u0634\u0627\u0643\u0644 \u0634\u0627\u0626\u0639\u0629<\/h2>\n\n\n\n<div style=\"border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin:1.5rem 0;\"><div style=\"display:grid;grid-template-columns:1fr 1.6fr;background:#f8fafc;font-weight:700;padding:12px 16px;border-bottom:1px solid #e2e8f0;\"><span>\u0627\u0644\u0645\u0634\u0643\u0644\u0629<\/span><span>\u0627\u0644\u062d\u0644<\/span><\/div><div style=\"display:grid;grid-template-columns:1fr 1.6fr;padding:12px 16px;border-bottom:1px solid #f1f5f9;line-height:1.8;\"><span>certbot: <code>Timeout during connect<\/code> \u0623\u0648 <code>unauthorized<\/code><\/span><span>\u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0644\u0627 \u064a\u0634\u064a\u0631 \u0625\u0644\u0649 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 \u0628\u0639\u062f\u060c \u0623\u0648 \u0627\u0644\u0645\u0646\u0641\u0630 80 \u0645\u063a\u0644\u0642 \u0641\u064a \u062c\u062f\u0627\u0631 \u0627\u0644\u0644\u0648\u062d\u0629 \u0623\u0648 ufw\u060c \u0623\u0648 Cloudflare \u0645\u0641\u0639\u0651\u0644 (\u0628\u0631\u062a\u0642\u0627\u0644\u064a).<\/span><\/div><div style=\"display:grid;grid-template-columns:1fr 1.6fr;padding:12px 16px;border-bottom:1px solid #f1f5f9;line-height:1.8;\"><span><code>nginx: [emerg] bind() to 0.0.0.0:80 failed<\/code><\/span><span>\u0628\u0631\u0646\u0627\u0645\u062c \u0622\u062e\u0631 \u064a\u0633\u062a\u0639\u0645\u0644 \u0627\u0644\u0645\u0646\u0641\u0630 (Apache \u0623\u0648 Docker). \u0627\u0639\u0631\u0641\u0647 \u0628\u0640<code>sudo ss -tlnp | grep :80<\/code> \u0648\u0623\u0648\u0642\u0641\u0647.<\/span><\/div><div style=\"display:grid;grid-template-columns:1fr 1.6fr;padding:12px 16px;border-bottom:1px solid #f1f5f9;line-height:1.8;\"><span>\u062a\u0638\u0647\u0631 \u00abWelcome to nginx\u00bb<\/span><span>\u0627\u062d\u0630\u0641 <code>sites-enabled\/default<\/code> \u0648\u062a\u0623\u0643\u062f \u0645\u0646 <code>server_name<\/code>.<\/span><\/div><div style=\"display:grid;grid-template-columns:1fr 1.6fr;padding:12px 16px;border-bottom:1px solid #f1f5f9;line-height:1.8;\"><span><code>403 Forbidden<\/code><\/span><span>\u0644\u0627 \u064a\u0648\u062c\u062f <code>index.html<\/code> \u0623\u0648 \u0635\u0644\u0627\u062d\u064a\u0627\u062a \u0627\u0644\u0645\u062c\u0644\u062f: <code>sudo chown -R www-data:www-data \/var\/www\/shop<\/code>.<\/span><\/div><div style=\"display:grid;grid-template-columns:1fr 1.6fr;padding:12px 16px;line-height:1.8;\"><span><code>Too many certificates already issued<\/code><\/span><span>\u062d\u062f\u0648\u062f Let&#8217;s Encrypt \u0627\u0644\u0623\u0633\u0628\u0648\u0639\u064a\u0629: \u0644\u0627 \u062a\u0643\u0631\u0631 \u0627\u0644\u0637\u0644\u0628 \u0643\u062b\u064a\u0631\u064b\u0627 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u062a\u062c\u0627\u0631\u0628\u060c \u0648\u0627\u0633\u062a\u0639\u0645\u0644 <code>--dry-run<\/code>.<\/span><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"proxy\">\u0625\u0636\u0627\u0641\u0629: Nginx \u0623\u0645\u0627\u0645 \u062a\u0637\u0628\u064a\u0642 (n8n \u0623\u0648 Node \u0623\u0648 Uptime Kuma)<\/h2>\n\n\n\n<p>\u0625\u0646 \u0643\u0627\u0646 \u062a\u0637\u0628\u064a\u0642\u0643 \u064a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0645\u0646\u0641\u0630 \u062f\u0627\u062e\u0644\u064a (\u0645\u062b\u0644 3001)\u060c \u0627\u062c\u0639\u0644 Nginx \u064a\u0645\u0631\u0631 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0625\u0644\u064a\u0647 \u0628\u062f\u0644 \u0641\u062a\u062d \u0627\u0644\u0645\u0646\u0641\u0630 \u0644\u0644\u0639\u0627\u0644\u0645\u060c \u062b\u0645 \u0623\u0635\u062f\u0631 \u0627\u0644\u0634\u0647\u0627\u062f\u0629 \u0643\u0645\u0627 \u0641\u064a \u0627\u0644\u062e\u0637\u0648\u0629 4:<\/p>\n\n\n\n<pre class=\"wp-block-code\" dir=\"ltr\" style=\"text-align:left\"><code>server {\n    listen 80;\n    server_name status.example.com;\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:3001;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;        # \u0644\u062f\u0639\u0645 WebSocket\n        proxy_set_header Connection \"upgrade\";\n        proxy_set_header Host $host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}<\/code><\/pre>\n\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u0646\u0634\u0631 \u0645\u0648\u0642\u0639\u0643 \u0639\u0644\u0649 \u0633\u064a\u0631\u0641\u0631 \u0644\u064a\u0646\u0643\u0633: \u0633\u062c\u0644 A \u0644\u0644\u062f\u0648\u0645\u064a\u0646\u060c \u0648\u062a\u062b\u0628\u064a\u062a Nginx \u0648\u0645\u0644\u0641 \u0627\u0644\u0645\u0648\u0642\u0639 \u0648nginx -t\u060c \u062b\u0645 \u0634\u0647\u0627\u062f\u0629 SSL \u0645\u062c\u0627\u0646\u064a\u0629 \u0645\u0646 Let&#8217;s Encrypt \u0628\u0640certbot \u062a\u062a\u062c\u062f\u062f \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0627 \u2014 \u0628\u0634\u0647\u0627\u062f\u0629 \u062d\u0642\u064a\u0642\u064a\u0629 \u0623\u0635\u062f\u0631\u0646\u0627\u0647\u0627 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u0634\u0631\u062d.<\/p>\n","protected":false},"author":6,"featured_media":5542,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[173,180,914],"tags":[1079,1078,271,256,140],"class_list":["post-5541","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-173","category-vps-cloud","category-tutorials","tag-certbot","tag-lets-encrypt","tag-nginx","tag-ssl","tag-140"],"_links":{"self":[{"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts\/5541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/comments?post=5541"}],"version-history":[{"count":1,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts\/5541\/revisions"}],"predecessor-version":[{"id":5548,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts\/5541\/revisions\/5548"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/media\/5542"}],"wp:attachment":[{"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/media?parent=5541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/categories?post=5541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/tags?post=5541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}