{"id":4484,"date":"2026-07-11T13:45:26","date_gmt":"2026-07-11T10:45:26","guid":{"rendered":"https:\/\/maram.iq\/blogs\/?p=4484"},"modified":"2026-07-11T14:11:59","modified_gmt":"2026-07-11T11:11:59","slug":"%d8%b4%d8%b1%d8%ad-nginx-reverse-proxy-%d9%83%d9%8a%d9%81-%d9%8a%d8%b1%d8%a8%d8%b7-%d8%a7%d9%84%d8%af%d9%88%d9%85%d9%8a%d9%86-%d8%a8%d8%aa%d8%b7%d8%a8%d9%8a%d9%82%d9%83-%d8%a7%d9%84%d8%af%d8%a7%d8%ae","status":"publish","type":"post","link":"https:\/\/maram.iq\/blogs\/%d8%b4%d8%b1%d8%ad-nginx-reverse-proxy-%d9%83%d9%8a%d9%81-%d9%8a%d8%b1%d8%a8%d8%b7-%d8%a7%d9%84%d8%af%d9%88%d9%85%d9%8a%d9%86-%d8%a8%d8%aa%d8%b7%d8%a8%d9%8a%d9%82%d9%83-%d8%a7%d9%84%d8%af%d8%a7%d8%ae\/","title":{"rendered":"\u0634\u0631\u062d NGINX Reverse Proxy: \u0643\u064a\u0641 \u064a\u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u062a\u0637\u0628\u064a\u0642\u0643 \u0627\u0644\u062f\u0627\u062e\u0644\u064a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 proxy_pass\u061f \u0627\u0644\u062f\u0644\u064a\u0644 \u0627\u0644\u0643\u0627\u0645\u0644 2026"},"content":{"rendered":"\n<p>\u064a\u062a\u064a\u062d \u0644\u0643 <strong>NGINX Reverse Proxy<\/strong> \u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u062a\u0637\u0628\u064a\u0642\u0643 \u0627\u0644\u062f\u0627\u062e\u0644\u064a \u0628\u0623\u0645\u0627\u0646 \u062f\u0648\u0646 \u0643\u0634\u0641 \u0627\u0644\u0645\u0646\u0627\u0641\u0630. \u0639\u0646\u062f \u062a\u0634\u063a\u064a\u0644 \u062a\u0637\u0628\u064a\u0642 <strong>Node.js<\/strong> \u0623\u0648 <strong>Python<\/strong> \u0623\u0648 <strong>Laravel Octane<\/strong> \u0623\u0648 \u062e\u062f\u0645\u0629 \u062f\u0627\u062e\u0644 \u062d\u0627\u0648\u064a\u0629 <strong>Docker<\/strong>\u060c \u063a\u0627\u0644\u0628\u064b\u0627 \u064a\u0639\u0645\u0644 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0639\u0644\u0649 \u0645\u0646\u0641\u0630 \u062f\u0627\u062e\u0644\u064a \u0645\u062b\u0644 <code>3000<\/code> \u0623\u0648 <code>8000<\/code> \u0623\u0648 <code>8080<\/code>. \u0644\u0643\u0646 \u0627\u0644\u0632\u0627\u0626\u0631 \u0644\u0627 \u064a\u0641\u062a\u0631\u0636 \u0623\u0646 \u064a\u0643\u062a\u0628 \u0627\u0633\u0645 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0645\u062a\u0628\u0648\u0639\u064b\u0627 \u0628\u0631\u0642\u0645 \u0627\u0644\u0645\u0646\u0641\u0630 \u0641\u064a \u0643\u0644 \u0645\u0631\u0629\u060c \u0643\u0645\u0627 \u0623\u0646 \u062a\u0639\u0631\u064a\u0636 \u0645\u0646\u0627\u0641\u0630 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0645\u0628\u0627\u0634\u0631\u0629 \u0644\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u0644\u064a\u0633 \u062f\u0627\u0626\u0645\u064b\u0627 \u0627\u0644\u062e\u064a\u0627\u0631 \u0627\u0644\u0623\u0641\u0636\u0644 \u0645\u0646 \u0646\u0627\u062d\u064a\u0629 \u0627\u0644\u0623\u0645\u0627\u0646 \u0648\u0627\u0644\u0625\u062f\u0627\u0631\u0629.<\/p>\n\n\n\n\n<p>\u0647\u0646\u0627 \u064a\u0623\u062a\u064a \u062f\u0648\u0631 <strong>NGINX Reverse Proxy<\/strong>\u060c \u062d\u064a\u062b \u064a\u0633\u062a\u0642\u0628\u0644 NGINX \u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0632\u0648\u0627\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0627\u0641\u0630 \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 <code>80<\/code> \u0648<code>443<\/code>\u060c \u062b\u0645 \u064a\u0645\u0631\u0631\u0647\u0627 \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u0627\u0644\u0630\u064a \u064a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0645\u0646\u0641\u0630 \u062f\u0627\u062e\u0644\u064a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 <code>proxy_pass<\/code>.<\/p>\n\n\n\n<p>\u0628\u0647\u0630\u0647 \u0627\u0644\u0637\u0631\u064a\u0642\u0629 \u064a\u0633\u062a\u0637\u064a\u0639 \u0627\u0644\u0632\u0627\u0626\u0631 \u0641\u062a\u062d:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;example.com\n<\/code><\/pre>\n\n\n\n<p>\u0628\u064a\u0646\u0645\u0627 \u064a\u0642\u0648\u0645 NGINX \u0641\u064a \u0627\u0644\u062e\u0644\u0641\u064a\u0629 \u0628\u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0637\u0644\u0628 \u0625\u0644\u0649:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;127.0.0.1:3000\n<\/code><\/pre>\n\n\n\n<p>\u062f\u0648\u0646 \u0623\u0646 \u064a\u0639\u0631\u0641 \u0627\u0644\u0632\u0627\u0626\u0631 \u0631\u0642\u0645 \u0627\u0644\u0645\u0646\u0641\u0630 \u0627\u0644\u062f\u0627\u062e\u0644\u064a \u0623\u0648 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0628\u0646\u064a\u0629 \u0627\u0644\u062e\u0644\u0641\u064a\u0629 \u0644\u0644\u0633\u064a\u0631\u0641\u0631.<\/p>\n\n\n\n<p>\u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u062f\u0644\u064a\u0644 \u0633\u0646\u0634\u0631\u062d \u0645\u0641\u0647\u0648\u0645 <strong>Reverse Proxy \u0641\u064a NGINX<\/strong>\u060c \u0648\u0643\u064a\u0641\u064a\u0629 \u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u062a\u0637\u0628\u064a\u0642 \u062f\u0627\u062e\u0644\u064a\u060c \u0648\u0637\u0631\u064a\u0642\u0629 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>proxy_pass<\/code>\u060c \u0648\u0623\u0647\u0645 \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0637\u0644\u0628\u0627\u062a\u060c \u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0634\u0631\u062d \u0623\u0633\u0628\u0627\u0628 \u0623\u062e\u0637\u0627\u0621 <strong>502 Bad Gateway<\/strong> \u0648<strong>504 Gateway Timeout<\/strong> \u0648\u0637\u0631\u064a\u0642\u0629 \u062a\u0634\u062e\u064a\u0635\u0647\u0627 \u0648\u062d\u0644\u0647\u0627.<\/p>\n\n\n\n<div class=\"table-of-contents\" style=\"background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin:1.5rem 0;\"><p style=\"font-weight:700;font-size:1.05rem;margin-bottom:.75rem;\">\u0645\u062d\u062a\u0648\u064a\u0627\u062a \u0627\u0644\u0645\u0642\u0627\u0644<\/p><ul style=\"list-style:none;padding:0;margin:0;\"><li style=\"padding:.25rem 0;\"><a href=\"#section-1\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0645\u0627 \u0647\u0648 NGINX\u061f<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-2\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0645\u0627 \u0647\u0648 Reverse Proxy\u061f<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-3\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0645\u0627 \u0627\u0644\u0641\u0631\u0642 \u0628\u064a\u0646 Reverse Proxy \u0648Forward Proxy\u061f<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-4\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0644\u0645\u0627\u0630\u0627 \u0644\u0627 \u0646\u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u0628\u0627\u0634\u0631\u0629\u061f<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-5\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0645\u0627 \u0647\u0648 proxy_pass\u061f<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-6\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0643\u064a\u0641 \u062a\u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u0627\u0644\u0633\u064a\u0631\u0641\u0631\u061f<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-7\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 NGINX \u0644\u062a\u0637\u0628\u064a\u0642 \u062f\u0627\u062e\u0644\u064a<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-8\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0634\u0631\u062d \u0625\u0639\u062f\u0627\u062f\u0627\u062a Reverse Proxy \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-9\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0631\u0628\u0637 NGINX \u0628\u062a\u0637\u0628\u064a\u0642 Node.js<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-10\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0631\u0628\u0637 NGINX \u0628\u062a\u0637\u0628\u064a\u0642 Python \u0648Gunicorn<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-11\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0631\u0628\u0637 NGINX \u0628\u062d\u0627\u0648\u064a\u0629 Docker<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-12\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0631\u0628\u0637 \u0645\u0633\u0627\u0631 \u0645\u062d\u062f\u062f \u0628\u062a\u0637\u0628\u064a\u0642 \u062e\u0644\u0641\u064a<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-13\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0627\u0646\u062a\u0628\u0647 \u0625\u0644\u0649 \u0627\u0644\u0634\u0631\u0637\u0629 \u0627\u0644\u0645\u0627\u0626\u0644\u0629 \u0641\u064a proxy_pass<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-14\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0625\u0639\u062f\u0627\u062f NGINX \u0644\u062f\u0639\u0645 WebSocket<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-15\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u062a\u0641\u0639\u064a\u0644 HTTPS \u0623\u0645\u0627\u0645 \u0627\u0644\u062a\u0637\u0628\u064a\u0642<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-16\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0645\u0627 \u0645\u0639\u0646\u0649 \u062e\u0637\u0623 502 Bad Gateway\u061f<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-17\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u062a\u0634\u062e\u064a\u0635 \u062e\u0637\u0623 502 Bad Gateway<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-18\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0645\u0627 \u0645\u0639\u0646\u0649 \u062e\u0637\u0623 504 Gateway Timeout\u061f<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-19\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0625\u0639\u062f\u0627\u062f \u0645\u0647\u0644\u0627\u062a Reverse Proxy<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-20\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0643\u064a\u0641 \u062a\u0641\u0631\u0642 \u0639\u0645\u0644\u064a\u064b\u0627 \u0628\u064a\u0646 502 \u0648504\u061f<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-21\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0641\u062d\u0635 \u0625\u0639\u062f\u0627\u062f\u0627\u062a NGINX<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-22\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0645\u0631\u0627\u062c\u0639\u0629 \u0633\u062c\u0644\u0627\u062a \u0627\u0644\u0648\u0635\u0648\u0644 \u0648\u0627\u0644\u0623\u062e\u0637\u0627\u0621<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-23\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u062a\u0623\u0645\u064a\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-24\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u062a\u062d\u062f\u064a\u062f \u062d\u062c\u0645 \u0627\u0644\u0637\u0644\u0628\u0627\u062a<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-25\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0625\u0644\u0649 \u0623\u0643\u062b\u0631 \u0645\u0646 \u062e\u0627\u062f\u0645<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-26\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0623\u0641\u0636\u0644 \u0627\u0644\u0645\u0645\u0627\u0631\u0633\u0627\u062a \u0639\u0646\u062f \u0627\u0633\u062a\u062e\u062f\u0627\u0645 NGINX Reverse Proxy<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-27\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u062e\u0637\u0648\u0627\u062a \u0641\u062d\u0635 \u0633\u0631\u064a\u0639\u0629 \u0639\u0646\u062f \u062a\u0648\u0642\u0641 \u0627\u0644\u0645\u0648\u0642\u0639<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#section-29\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0627\u0644\u062e\u0644\u0627\u0635\u0629<\/a><\/li><\/ul><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-1\">\u0645\u0627 \u0647\u0648 NGINX\u061f<\/h2>\n\n\n\n<p><strong>NGINX<\/strong> \u0647\u0648 \u062e\u0627\u062f\u0645 \u0648\u064a\u0628 \u0639\u0627\u0644\u064a \u0627\u0644\u0623\u062f\u0627\u0621 \u064a\u064f\u0633\u062a\u062e\u062f\u0645 \u0644\u0627\u0633\u062a\u0636\u0627\u0641\u0629 \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u062b\u0627\u0628\u062a\u0629\u060c \u0648\u0625\u0646\u0647\u0627\u0621 \u0627\u062a\u0635\u0627\u0644\u0627\u062a SSL\u060c \u0648\u062a\u0648\u0632\u064a\u0639 \u0627\u0644\u0623\u062d\u0645\u0627\u0644\u060c \u0648\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0645\u0624\u0642\u062a\u064b\u0627\u060c \u0648\u0627\u0644\u0639\u0645\u0644 \u0643\u0640 <strong>Reverse Proxy<\/strong> \u0623\u0645\u0627\u0645 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062e\u0644\u0641\u064a\u0629.<\/p>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0639\u0645\u0644 NGINX \u0645\u0628\u0627\u0634\u0631\u0629 \u0644\u0639\u0631\u0636 \u0645\u0644\u0641\u0627\u062a HTML \u0648CSS \u0648\u0627\u0644\u0635\u0648\u0631\u060c \u0643\u0645\u0627 \u064a\u0645\u0643\u0646\u0647 \u0627\u0633\u062a\u0642\u0628\u0627\u0644 \u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0648\u062a\u0645\u0631\u064a\u0631\u0647\u0627 \u0625\u0644\u0649 \u062a\u0637\u0628\u064a\u0642 \u0622\u062e\u0631 \u064a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 \u0646\u0641\u0633\u0647 \u0623\u0648 \u0639\u0644\u0649 \u062e\u0627\u062f\u0645 \u0645\u062e\u062a\u0644\u0641.<\/p>\n\n\n\n<p>\u0645\u0646 \u0623\u0634\u0647\u0631 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0627\u062a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0627\u0633\u062a\u0636\u0627\u0641\u0629 \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u062b\u0627\u0628\u062a\u0629.<\/li>\n\n\n\n<li>\u062a\u0634\u063a\u064a\u0644 \u0645\u0648\u0627\u0642\u0639 WordPress \u0645\u0639 PHP-FPM.<\/li>\n\n\n\n<li>\u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0625\u0644\u0649 \u062a\u0637\u0628\u064a\u0642\u0627\u062a Node.js.<\/li>\n\n\n\n<li>\u0631\u0628\u0637 \u062a\u0637\u0628\u064a\u0642\u0627\u062a Python \u0648Gunicorn \u0628\u0627\u0644\u062f\u0648\u0645\u064a\u0646.<\/li>\n\n\n\n<li>\u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0625\u0644\u0649 \u062d\u0627\u0648\u064a\u0627\u062a Docker.<\/li>\n\n\n\n<li>\u0625\u0646\u0647\u0627\u0621 \u0634\u0647\u0627\u062f\u0627\u062a SSL \u0648HTTPS.<\/li>\n\n\n\n<li>\u062a\u0648\u0632\u064a\u0639 \u0627\u0644\u062d\u0645\u0644 \u0628\u064a\u0646 \u0639\u062f\u0629 \u062e\u0648\u0627\u062f\u0645.<\/li>\n\n\n\n<li>\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 \u062d\u0645\u0627\u064a\u0629 \u0623\u0645\u0627\u0645 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-2\">\u0645\u0627 \u0647\u0648 Reverse Proxy\u061f<\/h2>\n\n\n\n<p>\u064a\u064f\u0639\u062f\u0651 <strong>NGINX Reverse Proxy<\/strong> \u0627\u0644\u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 \u0644\u0646\u0634\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u062d\u062f\u064a\u062b\u0629 \u062e\u0644\u0641 \u062f\u0648\u0645\u064a\u0646 \u0648\u0627\u062d\u062f \u0622\u0645\u0646.<\/p>\n\n\n\n<p>\u0627\u0644\u0640 <strong>Reverse Proxy<\/strong> \u0647\u0648 \u062e\u0627\u062f\u0645 \u0648\u0633\u064a\u0637 \u064a\u0642\u0641 \u0628\u064a\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0648\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a.<\/p>\n\n\n\n<figure style=\"margin:2rem auto;text-align:center;max-width:760px\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/07\/nginx-rp-concept.svg\" alt=\"\u0643\u064a\u0641 \u064a\u0639\u0645\u0644 NGINX Reverse Proxy \u0644\u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\" loading=\"lazy\" style=\"width:100%;height:auto;display:block;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.06)\"\/><figcaption style=\"margin-top:.6rem;font-size:.9rem;color:#64748b\">\u0627\u0644\u0637\u0644\u0628 \u064a\u0645\u0631\u0651 \u0639\u0628\u0631 NGINX \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062f\u0627\u062e\u0644\u064a<\/figcaption><\/figure>\n\n\n\n<p>\u0628\u062f\u0644\u064b\u0627 \u0645\u0646 \u0627\u062a\u0635\u0627\u0644 \u0627\u0644\u0632\u0627\u0626\u0631 \u0628\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u0628\u0627\u0634\u0631\u0629\u060c \u064a\u062a\u0635\u0644 \u0627\u0644\u0632\u0627\u0626\u0631 \u0628\u0640 NGINX\u060c \u062b\u0645 \u064a\u062a\u0648\u0644\u0649 NGINX \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0637\u0644\u0628 \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062f\u0627\u062e\u0644\u064a \u0648\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645.<\/p>\n\n\n\n<p>\u064a\u0643\u0648\u0646 \u0645\u0633\u0627\u0631 \u0627\u0644\u0637\u0644\u0628 \u0628\u0627\u0644\u0634\u0643\u0644 \u0627\u0644\u062a\u0627\u0644\u064a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u0627\u0644\u0632\u0627\u0626\u0631\n   \u2193\n\u0627\u0644\u062f\u0648\u0645\u064a\u0646\n   \u2193\nDNS\n   \u2193\n\u0639\u0646\u0648\u0627\u0646 IP \u0627\u0644\u062e\u0627\u0635 \u0628\u0627\u0644\u0633\u064a\u0631\u0641\u0631\n   \u2193\nNGINX \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0641\u0630 80 \u0623\u0648 443\n   \u2193\nproxy_pass\n   \u2193\n\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0641\u0630 3000 \u0623\u0648 8000\n<\/code><\/pre>\n\n\n\n<p>\u0628\u0627\u0644\u0646\u0633\u0628\u0629 \u0625\u0644\u0649 \u0627\u0644\u0632\u0627\u0626\u0631\u060c \u0627\u0644\u0645\u0648\u0642\u0639 \u064a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u0635\u0648\u0631\u0629 \u0637\u0628\u064a\u0639\u064a\u0629. \u0623\u0645\u0627 \u062f\u0627\u062e\u0644 \u0627\u0644\u0633\u064a\u0631\u0641\u0631\u060c \u0641\u0642\u062f \u064a\u0643\u0648\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u064a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0645\u0646\u0641\u0630 \u0645\u062d\u0644\u064a \u063a\u064a\u0631 \u0645\u062a\u0627\u062d \u0645\u0628\u0627\u0634\u0631\u0629 \u0645\u0646 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-3\">\u0645\u0627 \u0627\u0644\u0641\u0631\u0642 \u0628\u064a\u0646 Reverse Proxy \u0648Forward Proxy\u061f<\/h2>\n\n\n\n<p>\u0631\u063a\u0645 \u062a\u0634\u0627\u0628\u0647 \u0627\u0644\u0627\u0633\u0645\u064a\u0646\u060c \u0641\u0625\u0646 \u0644\u0643\u0644 \u0645\u0646\u0647\u0645\u0627 \u0648\u0638\u064a\u0641\u0629 \u0645\u062e\u062a\u0644\u0641\u0629.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Forward Proxy<\/h3>\n\n\n\n<p>\u064a\u0639\u0645\u0644 \u0646\u064a\u0627\u0628\u0629 \u0639\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0644\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a. \u064a\u0633\u062a\u062e\u062f\u0645 \u0639\u0627\u062f\u0629 \u0644\u0625\u062e\u0641\u0627\u0621 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0623\u0648 \u0627\u0644\u062a\u062d\u0643\u0645 \u0641\u064a \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u062a\u064a \u064a\u0645\u0643\u0646\u0647 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u064a\u0647\u0627.<\/p>\n\n\n\n<p>\u0627\u0644\u0645\u0633\u0627\u0631 \u064a\u0643\u0648\u0646:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u2192 Proxy \u2192 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Reverse Proxy<\/h3>\n\n\n\n<p>\u064a\u0639\u0645\u0644 \u0646\u064a\u0627\u0628\u0629 \u0639\u0646 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 \u0623\u0648 \u0627\u0644\u062a\u0637\u0628\u064a\u0642. \u064a\u0633\u062a\u0642\u0628\u0644 \u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u062b\u0645 \u064a\u0648\u062c\u0647\u0647\u0627 \u0625\u0644\u0649 \u0627\u0644\u062e\u0627\u062f\u0645 \u0627\u0644\u062e\u0644\u0641\u064a \u0627\u0644\u0645\u0646\u0627\u0633\u0628.<\/p>\n\n\n\n<p>\u0627\u0644\u0645\u0633\u0627\u0631 \u064a\u0643\u0648\u0646:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u2192 Reverse Proxy \u2192 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\n<\/code><\/pre>\n\n\n\n<p>\u0639\u0646\u062f \u0627\u0633\u062a\u062e\u062f\u0627\u0645 NGINX \u0623\u0645\u0627\u0645 Node.js \u0623\u0648 Docker \u0623\u0648 Python\u060c \u0641\u0623\u0646\u062a \u062a\u0633\u062a\u062e\u062f\u0645\u0647 \u0643\u0640 <strong>Reverse Proxy<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-4\">\u0644\u0645\u0627\u0630\u0627 \u0644\u0627 \u0646\u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u0628\u0627\u0634\u0631\u0629\u061f<\/h2>\n\n\n\n<p>\u0627\u0641\u062a\u0631\u0636 \u0623\u0646 \u062a\u0637\u0628\u064a\u0642 Node.js \u064a\u0639\u0645\u0644 \u0628\u0647\u0630\u0627 \u0627\u0644\u0623\u0645\u0631:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>node app.js\n<\/code><\/pre>\n\n\n\n<p>\u0648\u064a\u0633\u062a\u0645\u0639 \u0639\u0644\u0649:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>127.0.0.1:3000\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u0646\u0638\u0631\u064a\u064b\u0627 \u062c\u0639\u0644 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u064a\u0641\u062a\u062d:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;example.com:3000\n<\/code><\/pre>\n\n\n\n<p>\u0644\u0643\u0646 \u0647\u0630\u0647 \u0627\u0644\u0637\u0631\u064a\u0642\u0629 \u063a\u064a\u0631 \u0645\u062b\u0627\u0644\u064a\u0629 \u0644\u0639\u062f\u0629 \u0623\u0633\u0628\u0627\u0628:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0638\u0647\u0648\u0631 \u0631\u0642\u0645 \u0627\u0644\u0645\u0646\u0641\u0630 \u0641\u064a \u0631\u0627\u0628\u0637 \u0627\u0644\u0645\u0648\u0642\u0639.<\/li>\n\n\n\n<li>\u0635\u0639\u0648\u0628\u0629 \u0625\u0639\u062f\u0627\u062f HTTPS \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064a \u0643\u0644 \u062a\u0637\u0628\u064a\u0642.<\/li>\n\n\n\n<li>\u062a\u0639\u0631\u064a\u0636 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u0644\u0644\u0625\u0646\u062a\u0631\u0646\u062a.<\/li>\n\n\n\n<li>\u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0637\u0628\u0642\u0629 \u0648\u0633\u064a\u0637\u0629 \u0644\u0644\u062a\u062d\u0643\u0645 \u0628\u0627\u0644\u0637\u0644\u0628\u0627\u062a.<\/li>\n\n\n\n<li>\u0635\u0639\u0648\u0628\u0629 \u062a\u0634\u063a\u064a\u0644 \u0639\u062f\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0639\u0644\u0649 \u0639\u0646\u0648\u0627\u0646 IP \u0648\u0627\u062d\u062f.<\/li>\n\n\n\n<li>\u0636\u0639\u0641 \u0627\u0644\u0645\u0631\u0648\u0646\u0629 \u0641\u064a \u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u062a\u062d\u0648\u064a\u0644\u0627\u062a \u0648\u0627\u0644\u0636\u063a\u0637 \u0648\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u0624\u0642\u062a.<\/li>\n\n\n\n<li>\u0635\u0639\u0648\u0628\u0629 \u062a\u0637\u0628\u064a\u0642 \u062d\u062f\u0648\u062f \u062d\u062c\u0645 \u0627\u0644\u0637\u0644\u0628 \u0648\u0645\u0647\u0644\u0627\u062a \u0627\u0644\u0627\u062a\u0635\u0627\u0644.<\/li>\n<\/ul>\n\n\n\n<p>\u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 NGINX \u064a\u0633\u062a\u0637\u064a\u0639 \u0643\u0644 \u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0639\u0645\u0644 \u0639\u0644\u0649 \u0645\u0646\u0641\u0630 \u062f\u0627\u062e\u0644\u064a \u0645\u062e\u062a\u0644\u0641\u060c \u0628\u064a\u0646\u0645\u0627 \u062a\u0633\u062a\u062e\u062f\u0645 \u062c\u0645\u064a\u0639 \u0627\u0644\u062f\u0648\u0645\u064a\u0646\u0627\u062a \u0627\u0644\u0645\u0646\u0627\u0641\u0630 \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 <code>80<\/code> \u0648<code>443<\/code>.<\/p>\n\n\n\n<p>\u0645\u062b\u0644\u0627\u064b:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>app1.example.com \u2192 127.0.0.1:3000\napp2.example.com \u2192 127.0.0.1:4000\napi.example.com  \u2192 127.0.0.1:8000\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-5\">\u0645\u0627 \u0647\u0648 proxy_pass\u061f<\/h2>\n\n\n\n<p>\u0627\u0644\u062a\u0648\u062c\u064a\u0647 <code>proxy_pass<\/code> \u0647\u0648 \u0627\u0644\u0633\u0637\u0631 \u0627\u0644\u0630\u064a \u064a\u062e\u0628\u0631 NGINX \u0628\u0627\u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0630\u064a \u064a\u062c\u0628 \u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0637\u0644\u0628 \u0625\u0644\u064a\u0647.<\/p>\n\n\n\n<p>\u0648proxy_pass \u0645\u0648\u062c\u0651\u0647 \u0623\u0633\u0627\u0633\u064a \u0641\u064a NGINX\u061b \u0644\u0644\u062a\u0648\u062b\u064a\u0642 \u0627\u0644\u0631\u0633\u0645\u064a \u0631\u0627\u062c\u0639 <a href=\"https:\/\/nginx.org\/en\/docs\/http\/ngx_http_proxy_module.html\" target=\"_blank\" rel=\"noopener\">\u062f\u0644\u064a\u0644 ngx_http_proxy_module<\/a>.<\/p>\n\n\n\n<p>\u0645\u062b\u0627\u0644:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>proxy_pass http:\/\/127.0.0.1:3000;\n<\/code><\/pre>\n\n\n\n<p>\u0647\u0630\u0627 \u064a\u0639\u0646\u064a \u0623\u0646 \u0623\u064a \u0637\u0644\u0628 \u064a\u0635\u0644 \u0625\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u062c\u0632\u0621 \u0645\u0646 \u0625\u0639\u062f\u0627\u062f\u0627\u062a NGINX \u064a\u062c\u0628 \u062a\u0645\u0631\u064a\u0631\u0647 \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0630\u064a \u064a\u0633\u062a\u0645\u0639 \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0641\u0630 <code>3000<\/code> \u062f\u0627\u062e\u0644 \u0627\u0644\u0633\u064a\u0631\u0641\u0631.<\/p>\n\n\n\n<p>\u0645\u062b\u0627\u0644 \u0643\u0627\u0645\u0644:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 80;\n    server_name example.com www.example.com;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:3000;\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>\u0639\u0646\u062f\u0645\u0627 \u064a\u0641\u062a\u062d \u0627\u0644\u0632\u0627\u0626\u0631:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;example.com\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0633\u062a\u0642\u0628\u0644 NGINX \u0627\u0644\u0637\u0644\u0628 \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0641\u0630 <code>80<\/code> \u062b\u0645 \u064a\u0645\u0631\u0631\u0647 \u0625\u0644\u0649:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;127.0.0.1:3000\n<\/code><\/pre>\n\n\n\n<p>\u0628\u0639\u062f \u0630\u0644\u0643 \u064a\u0639\u064a\u062f NGINX \u0627\u0633\u062a\u062c\u0627\u0628\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0625\u0644\u0649 \u0627\u0644\u0632\u0627\u0626\u0631.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-6\">\u0643\u064a\u0641 \u062a\u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u0627\u0644\u0633\u064a\u0631\u0641\u0631\u061f<\/h2>\n\n\n\n<p>\u0642\u0628\u0644 \u0625\u0639\u062f\u0627\u062f NGINX \u064a\u062c\u0628 \u062a\u0648\u062c\u064a\u0647 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0625\u0644\u0649 \u0639\u0646\u0648\u0627\u0646 IP \u0627\u0644\u062e\u0627\u0635 \u0628\u0627\u0644\u0633\u064a\u0631\u0641\u0631 \u0645\u0646 \u062e\u0644\u0627\u0644 \u0633\u062c\u0644 DNS \u0645\u0646 \u0646\u0648\u0639 <code>A<\/code>.<\/p>\n\n\n\n<p>\u0645\u062b\u0627\u0644:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Type: A\nName: @\nValue: 203.0.113.10\n<\/code><\/pre>\n\n\n\n<p>\u0648\u0644\u0631\u0628\u0637 <code>www<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Type: A\nName: www\nValue: 203.0.113.10\n<\/code><\/pre>\n\n\n\n<p>\u0623\u0648 \u064a\u0645\u0643\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0633\u062c\u0644 CNAME:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Type: CNAME\nName: www\nValue: example.com\n<\/code><\/pre>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0646\u062a\u0634\u0627\u0631 \u0633\u062c\u0644\u0627\u062a DNS\u060c \u0633\u062a\u0635\u0644 \u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0625\u0644\u0649 \u0627\u0644\u0633\u064a\u0631\u0641\u0631. \u0639\u0646\u062f\u0647\u0627 \u064a\u062d\u062f\u062f NGINX \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0630\u064a \u064a\u062c\u0628 \u0623\u0646 \u064a\u0633\u062a\u0642\u0628\u0644 \u0627\u0644\u0637\u0644\u0628 \u0628\u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f \u0639\u0644\u0649 \u0642\u064a\u0645\u0629 <code>server_name<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-7\">\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 NGINX \u0644\u062a\u0637\u0628\u064a\u0642 \u062f\u0627\u062e\u0644\u064a<\/h2>\n\n\n\n<p>\u0641\u064a Ubuntu \u0648Debian \u063a\u0627\u0644\u0628\u064b\u0627 \u064a\u062a\u0645 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0645\u0644\u0641 \u062f\u0627\u062e\u0644:<\/p>\n\n\n\n<figure style=\"margin:2rem auto;text-align:center;max-width:760px\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/07\/nginx-rp-config.svg\" alt=\"\u0645\u062b\u0627\u0644 \u0625\u0639\u062f\u0627\u062f NGINX Reverse Proxy \u0645\u0639 proxy_pass\" loading=\"lazy\" style=\"width:100%;height:auto;display:block;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.06)\"\/><figcaption style=\"margin-top:.6rem;font-size:.9rem;color:#64748b\">\u0645\u0644\u0641 \u0625\u0639\u062f\u0627\u062f \u0645\u0628\u0633\u0651\u0637 \u0645\u0639 proxy_pass<\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/nginx\/sites-available\/\n<\/code><\/pre>\n\n\n\n<p>\u0645\u062b\u0644\u0627\u064b:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/nginx\/sites-available\/example.com\n<\/code><\/pre>\n\n\n\n<p>\u062b\u0645 \u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 80;\n    listen &#91;::]:80;\n\n    server_name example.com www.example.com;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:3000;\n\n        proxy_http_version 1.1;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>\u0628\u0639\u062f \u062d\u0641\u0638 \u0627\u0644\u0645\u0644\u0641\u060c \u0641\u0639\u0651\u0644\u0647 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0631\u0627\u0628\u0637 \u0631\u0645\u0632\u064a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s \/etc\/nginx\/sites-available\/example.com \/etc\/nginx\/sites-enabled\/example.com\n<\/code><\/pre>\n\n\n\n<p>\u0627\u062e\u062a\u0628\u0631 \u0625\u0639\u062f\u0627\u062f\u0627\u062a NGINX:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nginx -t\n<\/code><\/pre>\n\n\n\n<p>\u0625\u0630\u0627 \u0638\u0647\u0631\u062a \u0631\u0633\u0627\u0644\u0629 \u062a\u0641\u064a\u062f \u0628\u0623\u0646 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0646\u0627\u062c\u062d\u060c \u0623\u0639\u062f \u062a\u062d\u0645\u064a\u0644 NGINX:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl reload nginx\n<\/code><\/pre>\n\n\n\n<p>\u0623\u0648:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl restart nginx\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0641\u0636\u0644 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>reload<\/code> \u0639\u0646\u062f\u0645\u0627 \u062a\u0643\u0648\u0646 \u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0635\u062d\u064a\u062d\u0629\u060c \u0644\u0623\u0646\u0647 \u064a\u0639\u064a\u062f \u062a\u062d\u0645\u064a\u0644\u0647\u0627 \u062f\u0648\u0646 \u0642\u0637\u0639 \u0627\u0644\u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0627\u0644\u062d\u0627\u0644\u064a\u0629 \u0628\u0635\u0648\u0631\u0629 \u0645\u0641\u0627\u062c\u0626\u0629.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-8\">\u0634\u0631\u062d \u0625\u0639\u062f\u0627\u062f\u0627\u062a Reverse Proxy \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629<\/h2>\n\n\n\n<p>\u062a\u062d\u062f\u0651\u062f \u0647\u0630\u0647 \u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0633\u0644\u0648\u0643 <strong>NGINX Reverse Proxy<\/strong> \u0641\u064a \u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u062a\u0631\u0648\u064a\u0633\u0627\u062a \u0648\u0627\u0644\u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u0628\u0634\u0643\u0644 \u0635\u062d\u064a\u062d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">listen 80<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>listen 80;\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0639\u0646\u064a \u0623\u0646 NGINX \u064a\u0633\u062a\u0642\u0628\u0644 \u0627\u062a\u0635\u0627\u0644\u0627\u062a HTTP \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0641\u0630 <code>80<\/code>.<\/p>\n\n\n\n<p>\u0648\u0639\u0646\u062f \u062a\u0641\u0639\u064a\u0644 HTTPS \u064a\u064f\u0633\u062a\u062e\u062f\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>listen 443 ssl;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">server_name<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>server_name example.com www.example.com;\n<\/code><\/pre>\n\n\n\n<p>\u064a\u062d\u062f\u062f \u0627\u0644\u062f\u0648\u0645\u064a\u0646\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0646\u0637\u0628\u0642 \u0639\u0644\u064a\u0647\u0627 \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0647\u0630\u0627 \u0627\u0644\u0642\u0633\u0645.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">location<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>location \/ {\n}\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0639\u0646\u064a \u0623\u0646 \u0627\u0644\u0642\u0627\u0639\u062f\u0629 \u062a\u0646\u0637\u0628\u0642 \u0639\u0644\u0649 \u062c\u0645\u064a\u0639 \u0627\u0644\u0645\u0633\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0628\u062f\u0623 \u0645\u0646 <code>\/<\/code>.<\/p>\n\n\n\n<p>\u0645\u062b\u0644:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\n \/login\n \/dashboard\n \/api\/users\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">proxy_pass<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>proxy_pass http:\/\/127.0.0.1:3000;\n<\/code><\/pre>\n\n\n\n<p>\u064a\u062d\u062f\u062f \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u0648\u0627\u0644\u0645\u0646\u0641\u0630 \u0627\u0644\u0630\u064a \u064a\u0639\u0645\u0644 \u0639\u0644\u064a\u0647.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">proxy_http_version<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>proxy_http_version 1.1;\n<\/code><\/pre>\n\n\n\n<p>\u064a\u062c\u0639\u0644 NGINX \u064a\u0633\u062a\u062e\u062f\u0645 HTTP\/1.1 \u0639\u0646\u062f \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a\u060c \u0648\u0647\u0648 \u0645\u0647\u0645 \u062e\u0635\u0648\u0635\u064b\u0627 \u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a WebSocket \u0648\u0627\u0644\u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u0645\u0631\u0629.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0631 \u0627\u0633\u0645 \u0627\u0644\u062f\u0648\u0645\u064a\u0646<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>proxy_set_header Host $host;\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0645\u0631\u0631 \u0627\u0633\u0645 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0627\u0644\u0623\u0635\u0644\u064a \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u0628\u062f\u0644\u064b\u0627 \u0645\u0646 \u0625\u0631\u0633\u0627\u0644 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0627\u0644\u062f\u0627\u062e\u0644\u064a \u0641\u0642\u0637.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0631 \u0639\u0646\u0648\u0627\u0646 IP \u0627\u0644\u062d\u0642\u064a\u0642\u064a \u0644\u0644\u0632\u0627\u0626\u0631<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>proxy_set_header X-Real-IP $remote_addr;\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0645\u0631\u0631 \u0639\u0646\u0648\u0627\u0646 IP \u0627\u0644\u0623\u0635\u0644\u064a \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642.<\/p>\n\n\n\n<p>\u0628\u062f\u0648\u0646 \u0647\u0630\u0627 \u0627\u0644\u0633\u0637\u0631\u060c \u0642\u062f \u064a\u0631\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0623\u0646 \u062c\u0645\u064a\u0639 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0642\u0627\u062f\u0645\u0629 \u0645\u0646 NGINX \u0623\u0648 \u0645\u0646 <code>127.0.0.1<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0631 \u0633\u0644\u0633\u0644\u0629 \u0639\u0646\u0627\u0648\u064a\u0646 \u0627\u0644\u0648\u0643\u0644\u0627\u0621<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n<\/code><\/pre>\n\n\n\n<p>\u064a\u062d\u0627\u0641\u0638 \u0639\u0644\u0649 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0632\u0627\u0626\u0631 \u0648\u064a\u0636\u064a\u0641\u0647 \u0625\u0644\u0649 \u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u0628\u0631\u0648\u0643\u0633\u064a\u060c \u0648\u0647\u0648 \u0645\u0647\u0645 \u0639\u0646\u062f \u0648\u062c\u0648\u062f Cloudflare \u0623\u0648 Load Balancer \u0623\u0645\u0627\u0645 NGINX.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0645\u0631\u064a\u0631 \u0646\u0648\u0639 \u0627\u0644\u0627\u062a\u0635\u0627\u0644<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>proxy_set_header X-Forwarded-Proto $scheme;\n<\/code><\/pre>\n\n\n\n<p>\u064a\u062e\u0628\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0625\u0646 \u0643\u0627\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0642\u062f \u0627\u062a\u0635\u0644 \u0639\u0628\u0631 HTTP \u0623\u0648 HTTPS.<\/p>\n\n\n\n<p>\u0647\u0630\u0627 \u0645\u0647\u0645 \u0644\u062a\u062c\u0646\u0628 \u0645\u0634\u0627\u0643\u0644 \u0627\u0644\u062a\u062d\u0648\u064a\u0644\u0627\u062a \u0627\u0644\u0645\u062a\u0643\u0631\u0631\u0629 \u0623\u0648 \u0625\u0646\u0634\u0627\u0621 \u0631\u0648\u0627\u0628\u0637 HTTP \u062f\u0627\u062e\u0644 \u0645\u0648\u0642\u0639 \u064a\u0639\u0645\u0644 \u0639\u0628\u0631 HTTPS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-9\">\u0631\u0628\u0637 NGINX \u0628\u062a\u0637\u0628\u064a\u0642 Node.js<\/h2>\n\n\n\n<p>\u0644\u0646\u0641\u062a\u0631\u0636 \u0623\u0646 \u062a\u0637\u0628\u064a\u0642 Node.js \u064a\u0639\u0645\u0644 \u0639\u0644\u0649:<\/p>\n\n\n\n<p>\u0648\u0644\u062a\u0634\u063a\u064a\u0644 \u062a\u0637\u0628\u064a\u0642\u0643 \u0643\u062e\u062f\u0645\u0629 \u062f\u0627\u0626\u0645\u0629\u060c \u0631\u0627\u062c\u0639: <a href=\"https:\/\/maram.iq\/blogs\/%d8%b4%d8%b1%d8%ad-systemd-%d9%81%d9%8a-linux-%d9%83%d9%8a%d9%81%d9%8a%d8%a9-%d8%a5%d9%86%d8%b4%d8%a7%d8%a1-service-%d8%aa%d8%b9%d9%85%d9%84-%d8%aa%d9%84%d9%82%d8%a7%d8%a6%d9%8a%d9%8b%d8%a7-%d8%b9\/\">\u0634\u0631\u062d systemd \u0641\u064a Linux: \u0643\u064a\u0641\u064a\u0629 \u0625\u0646\u0634\u0627\u0621 Service \u062a\u0639\u0645\u0644 \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0627 \u0639\u0646\u062f \u0625\u0642\u0644\u0627\u0639 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 systemctl (Enable \u0648Disable) \u2013 \u0627\u0644\u062f\u0644\u064a\u0644 \u0627\u0644\u0643\u0627\u0645\u0644 2026<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>127.0.0.1:3000\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u0627\u0644\u062a\u0623\u0643\u062f \u0645\u0646 \u0630\u0644\u0643 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ss -tlnp | grep 3000\n<\/code><\/pre>\n\n\n\n<p>\u0623\u0648 \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u0628\u0627\u0634\u0631\u0629 \u0645\u0646 \u062f\u0627\u062e\u0644 \u0627\u0644\u0633\u064a\u0631\u0641\u0631:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl http:\/\/127.0.0.1:3000\n<\/code><\/pre>\n\n\n\n<p>\u062b\u0645 \u064a\u0643\u0648\u0646 \u0625\u0639\u062f\u0627\u062f NGINX:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 80;\n    server_name app.example.com;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:3000;\n        proxy_http_version 1.1;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>\u064a\u062c\u0628 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u0646 \u062e\u0644\u0627\u0644 <code>systemd<\/code> \u0623\u0648 PM2 \u0644\u0636\u0645\u0627\u0646 \u0639\u0648\u062f\u062a\u0647 \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0627 \u0628\u0639\u062f \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0633\u064a\u0631\u0641\u0631.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-10\">\u0631\u0628\u0637 NGINX \u0628\u062a\u0637\u0628\u064a\u0642 Python \u0648Gunicorn<\/h2>\n\n\n\n<p>\u0625\u0630\u0627 \u0643\u0627\u0646 \u062a\u0637\u0628\u064a\u0642 Python \u064a\u0639\u0645\u0644 \u0628\u0648\u0627\u0633\u0637\u0629 Gunicorn \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0641\u0630 <code>8000<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gunicorn --bind 127.0.0.1:8000 app:app\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0643\u0648\u0646 \u0625\u0639\u062f\u0627\u062f NGINX:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 80;\n    server_name python.example.com;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:8000;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>\u0627\u062e\u062a\u0628\u0631 Gunicorn \u0642\u0628\u0644 \u0641\u062d\u0635 NGINX:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl http:\/\/127.0.0.1:8000\n<\/code><\/pre>\n\n\n\n<p>\u0625\u0630\u0627 \u0641\u0634\u0644 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0645\u062d\u0644\u064a\u064b\u0627\u060c \u0641\u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0641\u064a Gunicorn \u0623\u0648 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u060c \u0648\u0644\u064a\u0633\u062a \u0641\u064a NGINX.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-11\">\u0631\u0628\u0637 NGINX \u0628\u062d\u0627\u0648\u064a\u0629 Docker<\/h2>\n\n\n\n<p>\u0644\u0646\u0641\u062a\u0631\u0636 \u0623\u0646 \u0627\u0644\u062d\u0627\u0648\u064a\u0629 \u062a\u0639\u0631\u0636 \u062a\u0637\u0628\u064a\u0642\u064b\u0627 \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0641\u0630 \u0627\u0644\u062f\u0627\u062e\u0644\u064a <code>3000<\/code>\u060c \u0648\u062a\u0645 \u0631\u0628\u0637\u0647 \u0628\u0627\u0644\u0645\u0646\u0641\u0630 \u0627\u0644\u0645\u062d\u0644\u064a <code>127.0.0.1:3000<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d \n  --name myapp \n  -p 127.0.0.1:3000:3000 \n  myapp-image\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u0644\u0640 NGINX \u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0625\u0644\u064a\u0647\u0627:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>location \/ {\n    proxy_pass http:\/\/127.0.0.1:3000;\n}\n<\/code><\/pre>\n\n\n\n<p>\u0631\u0628\u0637 \u0627\u0644\u0645\u0646\u0641\u0630 \u0628\u0639\u0646\u0648\u0627\u0646 <code>127.0.0.1<\/code> \u0628\u062f\u0644\u064b\u0627 \u0645\u0646 <code>0.0.0.0<\/code> \u064a\u0645\u0646\u0639 \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u0646 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a\u060c \u0648\u064a\u062c\u0639\u0644 NGINX \u0647\u0648 \u0646\u0642\u0637\u0629 \u0627\u0644\u062f\u062e\u0648\u0644 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-12\">\u0631\u0628\u0637 \u0645\u0633\u0627\u0631 \u0645\u062d\u062f\u062f \u0628\u062a\u0637\u0628\u064a\u0642 \u062e\u0644\u0641\u064a<\/h2>\n\n\n\n<p>\u0644\u064a\u0633 \u0645\u0646 \u0627\u0644\u0636\u0631\u0648\u0631\u064a \u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0645\u0648\u0642\u0639 \u0628\u0627\u0644\u0643\u0627\u0645\u0644 \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0646\u0641\u0633\u0647.<\/p>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0645\u0633\u0627\u0631 <code>\/api\/<\/code> \u0625\u0644\u0649 \u062a\u0637\u0628\u064a\u0642 API:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 80;\n    server_name example.com;\n\n    location \/ {\n        root \/var\/www\/example.com;\n        try_files $uri $uri\/ \/index.html;\n    }\n\n    location \/api\/ {\n        proxy_pass http:\/\/127.0.0.1:8000;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>\u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u0645\u062b\u0627\u0644:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NGINX \u064a\u0639\u0631\u0636 \u0627\u0644\u0648\u0627\u062c\u0647\u0629 \u0627\u0644\u0623\u0645\u0627\u0645\u064a\u0629.<\/li>\n\n\n\n<li>\u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0628\u062f\u0623 \u0628\u0640 <code>\/api\/<\/code> \u062a\u0630\u0647\u0628 \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-13\">\u0627\u0646\u062a\u0628\u0647 \u0625\u0644\u0649 \u0627\u0644\u0634\u0631\u0637\u0629 \u0627\u0644\u0645\u0627\u0626\u0644\u0629 \u0641\u064a proxy_pass<\/h2>\n\n\n\n<p>\u0627\u0644\u0641\u0631\u0642 \u0628\u064a\u0646 \u0648\u062c\u0648\u062f \u0627\u0644\u0634\u0631\u0637\u0629 \u0627\u0644\u0645\u0627\u0626\u0644\u0629 <code>\/<\/code> \u0648\u0639\u062f\u0645 \u0648\u062c\u0648\u062f\u0647\u0627 \u0642\u062f \u064a\u063a\u064a\u0651\u0631 \u0627\u0644\u0645\u0633\u0627\u0631 \u0627\u0644\u0630\u064a \u064a\u0635\u0644 \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642.<\/p>\n\n\n\n<p>\u0645\u062b\u0644\u0627\u064b:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>location \/api\/ {\n    proxy_pass http:\/\/127.0.0.1:8000;\n}\n<\/code><\/pre>\n\n\n\n<p>\u0639\u0646\u062f \u0637\u0644\u0628:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/api\/users\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0645\u0631\u0631 NGINX \u0627\u0644\u0645\u0633\u0627\u0631 \u0643\u0627\u0645\u0644\u064b\u0627 \u063a\u0627\u0644\u0628\u064b\u0627 \u0625\u0644\u0649:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;127.0.0.1:8000\/api\/users\n<\/code><\/pre>\n\n\n\n<p>\u0623\u0645\u0627:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>location \/api\/ {\n    proxy_pass http:\/\/127.0.0.1:8000\/;\n}\n<\/code><\/pre>\n\n\n\n<p>\u0641\u0642\u062f \u064a\u0632\u064a\u0644 \u0627\u0644\u062c\u0632\u0621 \u0627\u0644\u0645\u0637\u0627\u0628\u0642 \u0644\u0640 <code>\/api\/<\/code> \u0648\u064a\u0645\u0631\u0631 \u0627\u0644\u0637\u0644\u0628 \u0625\u0644\u0649:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;127.0.0.1:8000\/users\n<\/code><\/pre>\n\n\n\n<p>\u0644\u0630\u0644\u0643 \u064a\u062c\u0628 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u0633\u0627\u0631 \u0627\u0644\u0630\u064a \u064a\u062a\u0648\u0642\u0639\u0647 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u0628\u062f\u0642\u0629\u060c \u0644\u0623\u0646 \u0627\u0644\u062e\u0637\u0623 \u0641\u064a \u0627\u0644\u0634\u0631\u0637\u0629 \u0627\u0644\u0645\u0627\u0626\u0644\u0629 \u0642\u062f \u064a\u0624\u062f\u064a \u0625\u0644\u0649 \u0638\u0647\u0648\u0631 \u062e\u0637\u0623 <code>404 Not Found<\/code> \u0631\u063a\u0645 \u0623\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u064a\u0639\u0645\u0644.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-14\">\u0625\u0639\u062f\u0627\u062f NGINX \u0644\u062f\u0639\u0645 WebSocket<\/h2>\n\n\n\n<p>\u062a\u062d\u062a\u0627\u062c \u062a\u0637\u0628\u064a\u0642\u0627\u062a WebSocket \u0625\u0644\u0649 \u062a\u0645\u0631\u064a\u0631 \u062a\u0631\u0648\u064a\u0633\u0627\u062a \u0625\u0636\u0627\u0641\u064a\u0629:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>location \/ {\n    proxy_pass http:\/\/127.0.0.1:3000;\n    proxy_http_version 1.1;\n\n    proxy_set_header Upgrade $http_upgrade;\n    proxy_set_header Connection \"upgrade\";\n\n    proxy_set_header Host $host;\n    proxy_set_header X-Real-IP $remote_addr;\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\n\n<p>\u0628\u062f\u0648\u0646 \u0647\u0630\u0647 \u0627\u0644\u062a\u0631\u0648\u064a\u0633\u0627\u062a \u0642\u062f \u064a\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0639\u0627\u062f\u064a\u060c \u0644\u0643\u0646 \u062a\u0641\u0634\u0644 \u0627\u0644\u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0627\u0644\u0641\u0648\u0631\u064a\u0629 \u0623\u0648 \u0644\u0648\u062d\u0627\u062a \u0627\u0644\u062a\u062d\u0643\u0645 \u0623\u0648 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u0645\u062d\u0627\u062f\u062b\u0629.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-15\">\u062a\u0641\u0639\u064a\u0644 HTTPS \u0623\u0645\u0627\u0645 \u0627\u0644\u062a\u0637\u0628\u064a\u0642<\/h2>\n\n\n\n<p>\u064a\u062a\u0648\u0644\u0651\u0649 <strong>NGINX Reverse Proxy<\/strong> \u0625\u0646\u0647\u0627\u0621 \u0627\u062a\u0635\u0627\u0644 HTTPS \u0646\u064a\u0627\u0628\u0629\u064b \u0639\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a\u060c \u0641\u064a\u0628\u0642\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0628\u0633\u064a\u0637\u064b\u0627 \u0648\u0633\u0631\u064a\u0639\u064b\u0627.<\/p>\n\n\n\n<p>\u0645\u0646 \u0623\u0647\u0645 \u0641\u0648\u0627\u0626\u062f Reverse Proxy \u0623\u0646 NGINX \u064a\u0633\u062a\u0637\u064a\u0639 \u0625\u062f\u0627\u0631\u0629 \u0634\u0647\u0627\u062f\u0629 SSL\u060c \u0628\u064a\u0646\u0645\u0627 \u064a\u0633\u062a\u0645\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0628\u0627\u0644\u0639\u0645\u0644 \u062f\u0627\u062e\u0644\u064a\u064b\u0627 \u0639\u0628\u0631 HTTP.<\/p>\n\n\n\n<p>\u064a\u0643\u0648\u0646 \u0627\u0644\u0645\u0633\u0627\u0631:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u0627\u0644\u0632\u0627\u0626\u0631 \u0639\u0628\u0631 HTTPS\n        \u2193\nNGINX \u064a\u0641\u0643 \u062a\u0634\u0641\u064a\u0631 SSL\n        \u2193\nHTTP \u062f\u0627\u062e\u0644\u064a \u0625\u0644\u0649 127.0.0.1:3000\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u062a\u062b\u0628\u064a\u062a Certbot \u0639\u0644\u0649 Ubuntu \u0623\u0648 Debian\u060c \u062b\u0645 \u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0634\u0647\u0627\u062f\u0629:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>certbot --nginx -d example.com -d www.example.com\n<\/code><\/pre>\n\n\n\n<p>\u0628\u0639\u062f \u0646\u062c\u0627\u062d \u0627\u0644\u0639\u0645\u0644\u064a\u0629\u060c \u064a\u0636\u064a\u0641 Certbot \u0625\u0639\u062f\u0627\u062f\u0627\u062a HTTPS \u0625\u0644\u0649 NGINX.<\/p>\n\n\n\n<p>\u0645\u062b\u0627\u0644 \u0645\u0628\u0633\u0637:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 443 ssl;\n    server_name example.com www.example.com;\n\n    ssl_certificate \/etc\/letsencrypt\/live\/example.com\/fullchain.pem;\n    ssl_certificate_key \/etc\/letsencrypt\/live\/example.com\/privkey.pem;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:3000;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-16\">\u0645\u0627 \u0645\u0639\u0646\u0649 \u062e\u0637\u0623 502 Bad Gateway\u061f<\/h2>\n\n\n\n<p>\u064a\u0638\u0647\u0631 \u062e\u0637\u0623 <strong>502 Bad Gateway<\/strong> \u0639\u0646\u062f\u0645\u0627 \u064a\u0639\u0645\u0644 NGINX \u0648\u064a\u0633\u062a\u0642\u0628\u0644 \u0627\u0644\u0637\u0644\u0628\u060c \u0644\u0643\u0646\u0647 \u0644\u0627 \u064a\u0633\u062a\u0637\u064a\u0639 \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0627\u0633\u062a\u062c\u0627\u0628\u0629 \u0635\u062d\u064a\u062d\u0629 \u0645\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a.<\/p>\n\n\n\n<p>\u0648\u0644\u062d\u0644 502 \u0628\u0639\u062f \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u062a\u062d\u062f\u064a\u062f\u064b\u0627\u060c \u0631\u0627\u062c\u0639: <a href=\"https:\/\/maram.iq\/blogs\/%d8%ad%d9%84-%d9%85%d8%b4%d9%83%d9%84%d8%a9-502-bad-gateway-%d8%a8%d8%b9%d8%af-%d8%a5%d8%b9%d8%a7%d8%af%d8%a9-%d8%aa%d8%b4%d8%ba%d9%8a%d9%84-%d8%a7%d9%84%d8%b3%d9%8a%d8%b1%d9%81%d8%b1-nginx-%d9%88php\/\">\u062d\u0644 \u0645\u0634\u0643\u0644\u0629 502 Bad Gateway \u0628\u0639\u062f \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 (NGINX \u0648PHP-FPM \u0648Node.js): \u0627\u0644\u062f\u0644\u064a\u0644 \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0644\u062a\u0634\u062e\u064a\u0635 \u0648\u0627\u0644\u0625\u0635\u0644\u0627\u062d \u0641\u064a 2026<\/a>.<\/p>\n\n\n\n<p>\u0628\u0645\u0639\u0646\u0649 \u0622\u062e\u0631:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u0627\u0644\u0632\u0627\u0626\u0631 \u0648\u0635\u0644 \u0625\u0644\u0649 NGINX \u0628\u0646\u062c\u0627\u062d\n\u0644\u0643\u0646 NGINX \u0644\u0645 \u064a\u0635\u0644 \u0625\u0644\u0649 Backend\n<\/code><\/pre>\n\n\n\n<p>\u0645\u0646 \u0623\u0634\u0647\u0631 \u0627\u0644\u0623\u0633\u0628\u0627\u0628:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u0645\u062a\u0648\u0642\u0641.<\/li>\n\n\n\n<li>\u0627\u0644\u0645\u0646\u0641\u0630 \u063a\u064a\u0631 \u0635\u062d\u064a\u062d.<\/li>\n\n\n\n<li>\u0627\u0644\u062e\u062f\u0645\u0629 \u0644\u0645 \u062a\u0628\u062f\u0623 \u0628\u0639\u062f \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0633\u064a\u0631\u0641\u0631.<\/li>\n\n\n\n<li>NGINX \u064a\u0633\u062a\u062e\u062f\u0645 Socket \u063a\u064a\u0631 \u0645\u0648\u062c\u0648\u062f.<\/li>\n\n\n\n<li>\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0646\u0647\u0627\u0631 \u0623\u062b\u0646\u0627\u0621 \u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0637\u0644\u0628.<\/li>\n\n\n\n<li>\u0635\u0644\u0627\u062d\u064a\u0627\u062a Socket \u063a\u064a\u0631 \u0635\u062d\u064a\u062d\u0629.<\/li>\n\n\n\n<li>\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u064a\u0633\u062a\u0645\u0639 \u0639\u0644\u0649 \u0639\u0646\u0648\u0627\u0646 \u0645\u062e\u062a\u0644\u0641.<\/li>\n\n\n\n<li>\u062c\u062f\u0627\u0631 \u0627\u0644\u062d\u0645\u0627\u064a\u0629 \u064a\u0645\u0646\u0639 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0625\u0630\u0627 \u0643\u0627\u0646 Backend \u0639\u0644\u0649 \u062e\u0627\u062f\u0645 \u0622\u062e\u0631.<\/li>\n<\/ul>\n\n\n\n<p>\u0625\u0630\u0627 \u0643\u0627\u0646 NGINX \u064a\u0633\u062a\u062e\u062f\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>proxy_pass http:\/\/127.0.0.1:3000;\n<\/code><\/pre>\n\n\n\n<p>\u0644\u0643\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u064a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0641\u0630 <code>4000<\/code>\u060c \u0641\u0633\u062a\u0638\u0647\u0631 \u0631\u0633\u0627\u0644\u0629 502.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-17\">\u062a\u0634\u062e\u064a\u0635 \u062e\u0637\u0623 502 Bad Gateway<\/h2>\n\n\n\n<p>\u0627\u0628\u062f\u0623 \u0628\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 NGINX:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status nginx\n<\/code><\/pre>\n\n\n\n<p>\u062b\u0645 \u0627\u0641\u062d\u0635 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status myapp\n<\/code><\/pre>\n\n\n\n<p>\u0623\u0648 \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0633\u062a\u062e\u062f\u0645 PM2:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pm2 status\n<\/code><\/pre>\n\n\n\n<p>\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0645\u0646\u0641\u0630:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ss -tlnp | grep 3000\n<\/code><\/pre>\n\n\n\n<p>\u0627\u062e\u062a\u0628\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u0628\u0627\u0634\u0631\u0629:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -I http:\/\/127.0.0.1:3000\n<\/code><\/pre>\n\n\n\n<p>\u0631\u0627\u062c\u0639 \u0633\u062c\u0644 NGINX:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tail -50 \/var\/log\/nginx\/error.log\n<\/code><\/pre>\n\n\n\n<p>\u0642\u062f \u062a\u062c\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>connect() failed (111: Connection refused) while connecting to upstream\n<\/code><\/pre>\n\n\n\n<p>\u0648\u0647\u0630\u0627 \u064a\u0639\u0646\u064a \u063a\u0627\u0644\u0628\u064b\u0627 \u0623\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0644\u0627 \u064a\u0633\u062a\u0645\u0639 \u0639\u0644\u0649 \u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0623\u0648 \u0627\u0644\u0645\u0646\u0641\u0630 \u0627\u0644\u0645\u062d\u062f\u062f.<\/p>\n\n\n\n<p>\u0648\u0642\u062f \u062a\u062c\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>upstream prematurely closed connection\n<\/code><\/pre>\n\n\n\n<p>\u0648\u0647\u0630\u0627 \u064a\u0639\u0646\u064a \u0623\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0623\u063a\u0644\u0642 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0642\u0628\u0644 \u0625\u0631\u0633\u0627\u0644 \u0627\u0633\u062a\u062c\u0627\u0628\u0629 \u0645\u0643\u062a\u0645\u0644\u0629.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-18\">\u0645\u0627 \u0645\u0639\u0646\u0649 \u062e\u0637\u0623 504 Gateway Timeout\u061f<\/h2>\n\n\n\n<p>\u064a\u0638\u0647\u0631 \u062e\u0637\u0623 <strong>504 Gateway Timeout<\/strong> \u0639\u0646\u062f\u0645\u0627 \u064a\u062a\u0645\u0643\u0646 NGINX \u0645\u0646 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a\u060c \u0644\u0643\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u064a\u0633\u062a\u063a\u0631\u0642 \u0648\u0642\u062a\u064b\u0627 \u0623\u0637\u0648\u0644 \u0645\u0646 \u0627\u0644\u0645\u0647\u0644\u0629 \u0627\u0644\u0645\u062d\u062f\u062f\u0629 \u0644\u0644\u0631\u062f.<\/p>\n\n\n\n<p>\u0627\u0644\u0641\u0631\u0642 \u0627\u0644\u0623\u0633\u0627\u0633\u064a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>502:<\/strong> \u0644\u0627 \u062a\u0648\u062c\u062f \u0627\u0633\u062a\u062c\u0627\u0628\u0629 \u0635\u0627\u0644\u062d\u0629 \u0645\u0646 Backend \u0623\u0648 \u062a\u0639\u0630\u0631 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0628\u0647.<\/li>\n\n\n\n<li><strong>504:<\/strong> \u062a\u0645 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 Backend\u060c \u0644\u0643\u0646\u0647 \u062a\u0623\u062e\u0631 \u0641\u064a \u0627\u0644\u0631\u062f.<\/li>\n<\/ul>\n\n\n\n<p>\u0645\u0646 \u0623\u0633\u0628\u0627\u0628 \u062e\u0637\u0623 504:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0627\u0633\u062a\u0639\u0644\u0627\u0645 \u0642\u0627\u0639\u062f\u0629 \u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0637\u064a\u0621.<\/li>\n\n\n\n<li>\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u064a\u0646\u0641\u0630 \u0639\u0645\u0644\u064a\u0629 \u062b\u0642\u064a\u0644\u0629.<\/li>\n\n\n\n<li>API \u062e\u0627\u0631\u062c\u064a \u0644\u0627 \u064a\u0633\u062a\u062c\u064a\u0628.<\/li>\n\n\n\n<li>\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u0633\u064a\u0631\u0641\u0631 \u063a\u064a\u0631 \u0643\u0627\u0641\u064a\u0629.<\/li>\n\n\n\n<li>\u0627\u0631\u062a\u0641\u0627\u0639 Load Average.<\/li>\n\n\n\n<li>\u0627\u0645\u062a\u0644\u0627\u0621 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0648\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Swap \u0628\u0643\u062b\u0631\u0629.<\/li>\n\n\n\n<li>\u0645\u0647\u0644\u0629 NGINX \u0642\u0635\u064a\u0631\u0629 \u0645\u0642\u0627\u0631\u0646\u0629 \u0628\u0637\u0628\u064a\u0639\u0629 \u0627\u0644\u0637\u0644\u0628.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-19\">\u0625\u0639\u062f\u0627\u062f \u0645\u0647\u0644\u0627\u062a Reverse Proxy<\/h2>\n\n\n\n<p>\u0636\u0628\u0637 \u0627\u0644\u0645\u0647\u0644\u0627\u062a \u062c\u0632\u0621 \u0623\u0633\u0627\u0633\u064a \u0645\u0646 \u062a\u0634\u063a\u064a\u0644 <strong>NGINX Reverse Proxy<\/strong> \u0645\u0633\u062a\u0642\u0631 \u064a\u062a\u062d\u0645\u0651\u0644 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0637\u0648\u064a\u0644\u0629 \u062f\u0648\u0646 \u062e\u0637\u0623 504.<\/p>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0645\u0647\u0644\u0627\u062a \u062f\u0627\u062e\u0644 <code>location<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>location \/ {\n    proxy_pass http:\/\/127.0.0.1:3000;\n\n    proxy_connect_timeout 10s;\n    proxy_send_timeout 60s;\n    proxy_read_timeout 60s;\n\n    proxy_set_header Host $host;\n    proxy_set_header X-Real-IP $remote_addr;\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\n\n<h3 class=\"wp-block-heading\">proxy_connect_timeout<\/h3>\n\n\n\n<p>\u0627\u0644\u0645\u062f\u0629 \u0627\u0644\u062a\u064a \u064a\u0646\u062a\u0638\u0631\u0647\u0627 NGINX \u0644\u0625\u0646\u0634\u0627\u0621 \u0627\u062a\u0635\u0627\u0644 \u0645\u0639 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">proxy_send_timeout<\/h3>\n\n\n\n<p>\u0627\u0644\u0645\u062f\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062d\u0629 \u0644\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0637\u0644\u0628 \u0625\u0644\u0649 Backend.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">proxy_read_timeout<\/h3>\n\n\n\n<p>\u0627\u0644\u0645\u062f\u0629 \u0627\u0644\u062a\u064a \u064a\u0646\u062a\u0638\u0631\u0647\u0627 NGINX \u0628\u064a\u0646 \u0639\u0645\u0644\u064a\u0627\u062a \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0645\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a.<\/p>\n\n\n\n<p>\u0631\u0641\u0639 <code>proxy_read_timeout<\/code> \u0642\u062f \u064a\u062e\u0641\u064a \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0645\u0624\u0642\u062a\u064b\u0627\u060c \u0644\u0643\u0646\u0647 \u0644\u0627 \u064a\u0639\u0627\u0644\u062c \u0627\u0644\u0633\u0628\u0628 \u0627\u0644\u062d\u0642\u064a\u0642\u064a \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0623\u0648 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0637\u064a\u0626\u064a\u0646. \u064a\u062c\u0628 \u062a\u062d\u0644\u064a\u0644 \u0627\u0644\u0623\u062f\u0627\u0621 \u0642\u0628\u0644 \u0632\u064a\u0627\u062f\u0629 \u0627\u0644\u0645\u0647\u0644\u0629 \u0628\u0635\u0648\u0631\u0629 \u0643\u0628\u064a\u0631\u0629.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-20\">\u0643\u064a\u0641 \u062a\u0641\u0631\u0642 \u0639\u0645\u0644\u064a\u064b\u0627 \u0628\u064a\u0646 502 \u0648504\u061f<\/h2>\n\n\n\n<p>\u0625\u0630\u0627 \u0646\u0641\u0630\u062a:<\/p>\n\n\n\n<figure style=\"margin:2rem auto;text-align:center;max-width:760px\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/07\/nginx-rp-502-504.svg\" alt=\"\u0627\u0644\u0641\u0631\u0642 \u0628\u064a\u0646 502 \u0648504 \u0641\u064a NGINX Reverse Proxy\" loading=\"lazy\" style=\"width:100%;height:auto;display:block;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.06)\"\/><figcaption style=\"margin-top:.6rem;font-size:.9rem;color:#64748b\">\u062e\u0637\u0622\u0646 \u0645\u062e\u062a\u0644\u0641\u0627\u0646 \u0628\u0633\u0628\u0628\u064a\u0646 \u0645\u062e\u062a\u0644\u0641\u064a\u0646<\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>curl http:\/\/127.0.0.1:3000\n<\/code><\/pre>\n\n\n\n<p>\u0648\u0638\u0647\u0631\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Connection refused\n<\/code><\/pre>\n\n\n\n<p>\u0641\u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0623\u0642\u0631\u0628 \u0625\u0644\u0649 502\u060c \u0644\u0623\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u063a\u064a\u0631 \u0645\u062a\u0627\u062d.<\/p>\n\n\n\n<p>\u0623\u0645\u0627 \u0625\u0630\u0627 \u0628\u0642\u064a \u0627\u0644\u0623\u0645\u0631 \u064a\u0646\u062a\u0638\u0631 \u0648\u0642\u062a\u064b\u0627 \u0637\u0648\u064a\u0644\u064b\u0627 \u0642\u0628\u0644 \u0638\u0647\u0648\u0631 \u0627\u0644\u0627\u0633\u062a\u062c\u0627\u0628\u0629\u060c \u0641\u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0623\u0642\u0631\u0628 \u0625\u0644\u0649 504 \u0623\u0648 \u0628\u0637\u0621 \u0627\u0644\u062a\u0637\u0628\u064a\u0642.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-21\">\u0641\u062d\u0635 \u0625\u0639\u062f\u0627\u062f\u0627\u062a NGINX<\/h2>\n\n\n\n<p>\u0642\u0628\u0644 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u062d\u0645\u064a\u0644\u060c \u062a\u0623\u0643\u062f \u062f\u0627\u0626\u0645\u064b\u0627 \u0645\u0646 \u0635\u062d\u0629 \u0625\u0639\u062f\u0627\u062f\u0627\u062a <strong>NGINX Reverse Proxy<\/strong> \u0644\u062a\u0641\u0627\u062f\u064a \u062a\u0639\u0637\u0651\u0644 \u0627\u0644\u0645\u0648\u0642\u0639.<\/p>\n\n\n\n<p>\u0628\u0639\u062f \u0623\u064a \u062a\u0639\u062f\u064a\u0644 \u0646\u0641\u0630:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nginx -t\n<\/code><\/pre>\n\n\n\n<p>\u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0635\u062d\u064a\u062d\u0629 \u0633\u062a\u0638\u0647\u0631 \u0646\u062a\u064a\u062c\u0629 \u0645\u0634\u0627\u0628\u0647\u0629:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>syntax is ok\ntest is successful\n<\/code><\/pre>\n\n\n\n<p>\u062b\u0645 \u0623\u0639\u062f \u0627\u0644\u062a\u062d\u0645\u064a\u0644:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl reload nginx\n<\/code><\/pre>\n\n\n\n<p>\u0644\u0627 \u062a\u0639\u0650\u062f \u062a\u0634\u063a\u064a\u0644 NGINX \u0642\u0628\u0644 \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a\u060c \u0644\u0623\u0646 \u0648\u062c\u0648\u062f \u062e\u0637\u0623 \u0646\u062d\u0648\u064a \u0642\u062f \u064a\u0645\u0646\u0639 \u0627\u0644\u062e\u062f\u0645\u0629 \u0645\u0646 \u0627\u0644\u0639\u0648\u062f\u0629 \u0644\u0644\u0639\u0645\u0644.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-22\">\u0645\u0631\u0627\u062c\u0639\u0629 \u0633\u062c\u0644\u0627\u062a \u0627\u0644\u0648\u0635\u0648\u0644 \u0648\u0627\u0644\u0623\u062e\u0637\u0627\u0621<\/h2>\n\n\n\n<p>\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0633\u062c\u0644 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u063a\u0627\u0644\u0628\u064b\u0627 \u0647\u064a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/var\/log\/nginx\/access.log\n\/var\/log\/nginx\/error.log\n<\/code><\/pre>\n\n\n\n<p>\u0644\u0645\u062a\u0627\u0628\u0639\u0629 \u0633\u062c\u0644 \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0645\u0628\u0627\u0634\u0631\u0629:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tail -f \/var\/log\/nginx\/error.log\n<\/code><\/pre>\n\n\n\n<p>\u0648\u0644\u0645\u062a\u0627\u0628\u0639\u0629 \u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0632\u0648\u0627\u0631:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tail -f \/var\/log\/nginx\/access.log\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u0623\u064a\u0636\u064b\u0627 \u062a\u062d\u062f\u064a\u062f \u0633\u062c\u0644 \u0645\u0646\u0641\u0635\u0644 \u0644\u0643\u0644 \u062f\u0648\u0645\u064a\u0646:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>access_log \/var\/log\/nginx\/example.com.access.log;\nerror_log \/var\/log\/nginx\/example.com.error.log;\n<\/code><\/pre>\n\n\n\n<p>\u0648\u0647\u0630\u0627 \u064a\u0633\u0647\u0644 \u062a\u0634\u062e\u064a\u0635 \u0627\u0644\u0645\u0634\u0627\u0643\u0644 \u0639\u0646\u062f \u0627\u0633\u062a\u0636\u0627\u0641\u0629 \u0639\u062f\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0639\u0644\u0649 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 \u0646\u0641\u0633\u0647.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-23\">\u062a\u0623\u0645\u064a\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a<\/h2>\n\n\n\n<p>\u0645\u0646 \u0623\u0647\u0645 \u0641\u0648\u0627\u0626\u062f <strong>NGINX Reverse Proxy<\/strong> \u0625\u062e\u0641\u0627\u0621 \u0645\u0646\u0641\u0630 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062f\u0627\u062e\u0644\u064a \u0648\u0645\u0646\u0639 \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0625\u0644\u064a\u0647 \u0645\u0646 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a.<\/p>\n\n\n\n<p>\u064a\u0641\u0636\u0644 \u062c\u0639\u0644 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u064a\u0633\u062a\u0645\u0639 \u0639\u0644\u0649 <code>127.0.0.1<\/code> \u0628\u062f\u0644\u064b\u0627 \u0645\u0646 <code>0.0.0.0<\/code> \u0639\u0646\u062f\u0645\u0627 \u064a\u0643\u0648\u0646 NGINX \u0645\u0648\u062c\u0648\u062f\u064b\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 \u0646\u0641\u0633\u0647.<\/p>\n\n\n\n<p>\u0627\u0633\u062a\u062e\u062f\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>127.0.0.1:3000\n<\/code><\/pre>\n\n\n\n<p>\u0628\u062f\u0644\u064b\u0627 \u0645\u0646:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>0.0.0.0:3000\n<\/code><\/pre>\n\n\n\n<p>\u0644\u0623\u0646 <code>0.0.0.0<\/code> \u0642\u062f \u064a\u062c\u0639\u0644 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u062a\u0627\u062d\u064b\u0627 \u0639\u0644\u0649 \u062c\u0645\u064a\u0639 \u0648\u0627\u062c\u0647\u0627\u062a \u0627\u0644\u0634\u0628\u0643\u0629\u060c \u0648\u0642\u062f \u064a\u062a\u0645 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u064a\u0647 \u0645\u0628\u0627\u0634\u0631\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 IP \u0648\u0627\u0644\u0645\u0646\u0641\u0630.<\/p>\n\n\n\n<p>\u0625\u0630\u0627 \u0627\u0636\u0637\u0631\u0631\u062a \u0625\u0644\u0649 \u062a\u0634\u063a\u064a\u0644 Backend \u0639\u0644\u0649 \u062e\u0627\u062f\u0645 \u0645\u0646\u0641\u0635\u0644\u060c \u0627\u0633\u062a\u062e\u062f\u0645 \u0634\u0628\u0643\u0629 \u062e\u0627\u0635\u0629 \u0623\u0648 \u0642\u0648\u0627\u0639\u062f Firewall \u062a\u0633\u0645\u062d \u0628\u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0645\u0646 \u0639\u0646\u0648\u0627\u0646 NGINX \u0641\u0642\u0637.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-24\">\u062a\u062d\u062f\u064a\u062f \u062d\u062c\u0645 \u0627\u0644\u0637\u0644\u0628\u0627\u062a<\/h2>\n\n\n\n<p>\u0642\u062f \u062a\u062d\u062a\u0627\u062c \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0631\u0641\u0639 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0625\u0644\u0649 \u0632\u064a\u0627\u062f\u0629 \u0627\u0644\u062d\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>client_max_body_size 100M;\n<\/code><\/pre>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u0648\u0636\u0639\u0647 \u062f\u0627\u062e\u0644 <code>server<\/code> \u0623\u0648 <code>location<\/code>.<\/p>\n\n\n\n<p>\u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u062d\u062c\u0645 \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d\u060c \u064a\u0638\u0647\u0631 \u063a\u0627\u0644\u0628\u064b\u0627:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>413 Request Entity Too Large\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-25\">\u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0625\u0644\u0649 \u0623\u0643\u062b\u0631 \u0645\u0646 \u062e\u0627\u062f\u0645<\/h2>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 <strong>NGINX Reverse Proxy<\/strong> \u0643\u0645\u0648\u0627\u0632\u0646 \u0623\u062d\u0645\u0627\u0644 \u064a\u0648\u0632\u0651\u0639 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0639\u0644\u0649 \u0623\u0643\u062b\u0631 \u0645\u0646 \u062e\u0627\u062f\u0645 \u062e\u0644\u0641\u064a \u0644\u0632\u064a\u0627\u062f\u0629 \u0627\u0644\u0623\u062f\u0627\u0621 \u0648\u0627\u0644\u062a\u0648\u0641\u0651\u0631.<\/p>\n\n\n\n<p>\u064a\u0645\u0643\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 NGINX \u0623\u064a\u0636\u064b\u0627 \u0644\u062a\u0648\u0632\u064a\u0639 \u0627\u0644\u062d\u0645\u0644:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>upstream backend_servers {\n    server 127.0.0.1:3000;\n    server 127.0.0.1:3001;\n}\n\nserver {\n    listen 80;\n    server_name example.com;\n\n    location \/ {\n        proxy_pass http:\/\/backend_servers;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>\u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u0645\u062b\u0627\u0644 \u064a\u0648\u0632\u0639 NGINX \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0628\u064a\u0646 \u062a\u0637\u0628\u064a\u0642\u064a\u0646 \u064a\u0639\u0645\u0644\u0627\u0646 \u0639\u0644\u0649 \u0645\u0646\u0641\u0630\u064a\u0646 \u0645\u062e\u062a\u0644\u0641\u064a\u0646.<\/p>\n\n\n\n<p>\u0647\u0630\u0627 \u0645\u0641\u064a\u062f \u0639\u0646\u062f \u062a\u0634\u063a\u064a\u0644 \u0639\u062f\u0629 \u0646\u0633\u062e \u0645\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0644\u0632\u064a\u0627\u062f\u0629 \u0627\u0644\u0642\u062f\u0631\u0629 \u0639\u0644\u0649 \u0627\u0633\u062a\u0642\u0628\u0627\u0644 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0648\u062a\u0642\u0644\u064a\u0644 \u0627\u0644\u0636\u063a\u0637 \u0639\u0644\u0649 \u0639\u0645\u0644\u064a\u0629 \u0648\u0627\u062d\u062f\u0629.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-26\">\u0623\u0641\u0636\u0644 \u0627\u0644\u0645\u0645\u0627\u0631\u0633\u0627\u062a \u0639\u0646\u062f \u0627\u0633\u062a\u062e\u062f\u0627\u0645 NGINX Reverse Proxy<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0627\u062c\u0639\u0644 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u064a\u0633\u062a\u0645\u0639 \u0639\u0644\u0649 \u0639\u0646\u0648\u0627\u0646 \u0645\u062d\u0644\u064a \u0623\u0648 \u0634\u0628\u0643\u0629 \u062e\u0627\u0635\u0629.<\/li>\n\n\n\n<li>\u0627\u0633\u062a\u062e\u062f\u0645 systemd \u0623\u0648 PM2 \u0644\u0636\u0645\u0627\u0646 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0628\u0639\u062f \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0633\u064a\u0631\u0641\u0631.<\/li>\n\n\n\n<li>\u0645\u0631\u0631 \u062a\u0631\u0648\u064a\u0633\u0627\u062a <code>Host<\/code> \u0648<code>X-Real-IP<\/code> \u0648<code>X-Forwarded-For<\/code>.<\/li>\n\n\n\n<li>\u0627\u0633\u062a\u062e\u062f\u0645 HTTPS \u0644\u062d\u0645\u0627\u064a\u0629 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646.<\/li>\n\n\n\n<li>\u0627\u062e\u062a\u0628\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u0628\u0627\u0634\u0631\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>curl<\/code> \u0642\u0628\u0644 \u0627\u062a\u0647\u0627\u0645 NGINX.<\/li>\n\n\n\n<li>\u0646\u0641\u0630 <code>nginx -t<\/code> \u0642\u0628\u0644 \u0625\u0639\u0627\u062f\u0629 \u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a.<\/li>\n\n\n\n<li>\u0631\u0627\u0642\u0628 \u0633\u062c\u0644\u0627\u062a NGINX \u0648\u0633\u062c\u0644\u0627\u062a \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u0639\u064b\u0627.<\/li>\n\n\n\n<li>\u0644\u0627 \u062a\u0631\u0641\u0639 \u0627\u0644\u0645\u0647\u0644\u0627\u062a \u0628\u0634\u0643\u0644 \u0639\u0634\u0648\u0627\u0626\u064a \u0644\u0645\u0639\u0627\u0644\u062c\u0629 \u062e\u0637\u0623 504.<\/li>\n\n\n\n<li>\u0627\u0631\u0628\u0637 \u0643\u0644 \u062f\u0648\u0645\u064a\u0646 \u0628\u0645\u0644\u0641 \u0625\u0639\u062f\u0627\u062f \u0645\u0646\u0641\u0635\u0644 \u0644\u062a\u0633\u0647\u064a\u0644 \u0627\u0644\u0625\u062f\u0627\u0631\u0629.<\/li>\n\n\n\n<li>\u0627\u062d\u062c\u0628 \u0627\u0644\u0645\u0646\u0627\u0641\u0630 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u0639\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u0639\u0627\u0645.<\/li>\n\n\n\n<li>\u0627\u0633\u062a\u062e\u062f\u0645 Health Check \u0644\u0645\u0631\u0627\u0642\u0628\u0629 \u062c\u0627\u0647\u0632\u064a\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642.<\/li>\n\n\n\n<li>\u062a\u0623\u0643\u062f \u0645\u0646 \u062a\u0641\u0639\u064a\u0644 \u0627\u0644\u062e\u062f\u0645\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>systemctl enable<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-27\">\u062e\u0637\u0648\u0627\u062a \u0641\u062d\u0635 \u0633\u0631\u064a\u0639\u0629 \u0639\u0646\u062f \u062a\u0648\u0642\u0641 \u0627\u0644\u0645\u0648\u0642\u0639<\/h2>\n\n\n\n<p>\u0639\u0646\u062f \u0623\u064a \u062a\u0648\u0642\u0641\u060c \u0627\u0628\u062f\u0623 \u0628\u0641\u062d\u0635 \u062d\u0627\u0644\u0629 <strong>NGINX Reverse Proxy<\/strong> \u0648\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u0648\u0627\u0644\u0645\u0646\u0627\u0641\u0630 \u0648\u0627\u0644\u0633\u062c\u0644\u0627\u062a \u0628\u0627\u0644\u062a\u0631\u062a\u064a\u0628.<\/p>\n\n\n\n<p>\u0646\u0641\u0630 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0628\u0627\u0644\u062a\u0631\u062a\u064a\u0628:<\/p>\n\n\n\n<p>\u0648\u062a\u0648\u0641\u0651\u0631 <a href=\"https:\/\/maram.iq\">\u0645\u0631\u0627\u0645 \u0647\u0648\u0633\u062a<\/a> \u062e\u0648\u0627\u062f\u0645 VPS \u0648Dedicated \u0645\u062b\u0627\u0644\u064a\u0629 \u0644\u062a\u0634\u063a\u064a\u0644 NGINX Reverse Proxy \u0623\u0645\u0627\u0645 \u062a\u0637\u0628\u064a\u0642\u0627\u062a Node.js \u0648Python \u0648Docker \u0628\u0623\u062f\u0627\u0621 \u0648\u0623\u0645\u0627\u0646 \u0639\u0627\u0644\u064a\u064a\u0646.<\/p>\n\n\n\n<p>\u0648\u0644\u0644\u0641\u062d\u0635 \u0627\u0644\u0634\u0627\u0645\u0644\u060c \u0631\u0627\u062c\u0639: <a href=\"https:\/\/maram.iq\/blogs\/%d8%a7%d9%84%d8%af%d9%84%d9%8a%d9%84-%d8%a7%d9%84%d9%83%d8%a7%d9%85%d9%84-%d9%84%d9%81%d8%ad%d8%b5-%d8%b5%d8%ad%d8%a9-%d8%a7%d9%84%d8%b3%d9%8a%d8%b1%d9%81%d8%b1-server-health-check-%d8%a3%d9%87\/\">\u0627\u0644\u062f\u0644\u064a\u0644 \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0641\u062d\u0635 \u0635\u062d\u0629 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 (Server Health Check): \u0623\u0647\u0645 \u0623\u0648\u0627\u0645\u0631 Linux \u0644\u062a\u0634\u062e\u064a\u0635 \u0627\u0644\u0623\u0639\u0637\u0627\u0644 \u0648\u0645\u0631\u0627\u0642\u0628\u0629 \u0627\u0644\u0623\u062f\u0627\u0621 \u0641\u064a 2026<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status nginx\n<\/code><\/pre>\n\n\n\n<p>\u062b\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nginx -t\n<\/code><\/pre>\n\n\n\n<p>\u062b\u0645 \u0627\u0641\u062d\u0635 \u0645\u0646\u0641\u0630 \u0627\u0644\u062a\u0637\u0628\u064a\u0642:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ss -tlnp\n<\/code><\/pre>\n\n\n\n<p>\u0627\u062e\u062a\u0628\u0631 Backend \u0645\u0628\u0627\u0634\u0631\u0629:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -I http:\/\/127.0.0.1:3000\n<\/code><\/pre>\n\n\n\n<p>\u0631\u0627\u062c\u0639 \u0633\u062c\u0644 NGINX:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tail -50 \/var\/log\/nginx\/error.log\n<\/code><\/pre>\n\n\n\n<p>\u0631\u0627\u062c\u0639 \u0633\u062c\u0644 \u0627\u0644\u062a\u0637\u0628\u064a\u0642:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>journalctl -u myapp -n 50 --no-pager\n<\/code><\/pre>\n\n\n\n<p>\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0645\u0648\u0627\u0631\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>free -h\ndf -h\nuptime\n<\/code><\/pre>\n\n\n\n<p>\u0647\u0630\u0647 \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u062a\u0643\u0634\u0641 \u0645\u0639\u0638\u0645 \u0645\u0634\u0627\u0643\u0644 Reverse Proxy \u0648\u0623\u062e\u0637\u0627\u0621 502 \u0648504 \u062e\u0644\u0627\u0644 \u0648\u0642\u062a \u0642\u0635\u064a\u0631.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section-29\">\u0627\u0644\u062e\u0644\u0627\u0635\u0629<\/h2>\n\n\n\n<p>\u064a\u0639\u0645\u0644 <strong>NGINX Reverse Proxy<\/strong> \u0643\u062d\u0644\u0642\u0629 \u0648\u0635\u0644 \u0628\u064a\u0646 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0648\u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a. \u064a\u0633\u062a\u0642\u0628\u0644 \u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0632\u0648\u0627\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0627\u0641\u0630 \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 <code>80<\/code> \u0648<code>443<\/code>\u060c \u062b\u0645 \u064a\u0633\u062a\u062e\u062f\u0645 <code>proxy_pass<\/code> \u0644\u0625\u0631\u0633\u0627\u0644\u0647\u0627 \u0625\u0644\u0649 \u062a\u0637\u0628\u064a\u0642 \u064a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0645\u0646\u0641\u0630 \u062f\u0627\u062e\u0644\u064a \u0645\u062b\u0644 <code>3000<\/code> \u0623\u0648 <code>8000<\/code>.<\/p>\n\n\n\n<p>\u0628\u0627\u062e\u062a\u0635\u0627\u0631\u060c \u064a\u0645\u0646\u062d\u0643 <strong>NGINX Reverse Proxy<\/strong> \u0639\u0628\u0631 proxy_pass \u0637\u0631\u064a\u0642\u0629 \u0646\u0638\u064a\u0641\u0629 \u0648\u0622\u0645\u0646\u0629 \u0644\u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u062a\u0637\u0628\u064a\u0642\u0627\u062a\u0643 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u0645\u0639 HTTPS \u0648\u0645\u0648\u0627\u0632\u0646\u0629 \u0627\u0644\u0623\u062d\u0645\u0627\u0644. \u0648\u0625\u062a\u0642\u0627\u0646 <strong>NGINX Reverse Proxy<\/strong> \u0636\u0631\u0648\u0631\u064a \u0644\u0643\u0644 \u0645\u0646 \u064a\u0646\u0634\u0631 \u062a\u0637\u0628\u064a\u0642\u0627\u062a Node.js \u0648Python \u0648Docker \u0639\u0644\u0649 \u062e\u0627\u062f\u0645\u0647.<\/p>\n\n\n\n<p>\u064a\u062a\u064a\u062d \u0647\u0630\u0627 \u0627\u0644\u0623\u0633\u0644\u0648\u0628 \u062a\u0634\u063a\u064a\u0644 \u062a\u0637\u0628\u064a\u0642\u0627\u062a Node.js \u0648Python \u0648Laravel \u0648Docker \u062e\u0644\u0641 \u0627\u0633\u0645 \u0646\u0637\u0627\u0642 \u0627\u062d\u062a\u0631\u0627\u0641\u064a\u060c \u0648\u0625\u0636\u0627\u0641\u0629 HTTPS\u060c \u0648\u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u0645\u0646\u0627\u0641\u0630 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629\u060c \u0648\u062a\u0645\u0631\u064a\u0631 \u0639\u0646\u0648\u0627\u0646 IP \u0627\u0644\u062d\u0642\u064a\u0642\u064a \u0644\u0644\u0632\u0627\u0626\u0631\u060c \u0648\u0625\u062f\u0627\u0631\u0629 \u0639\u062f\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0639\u0644\u0649 \u0639\u0646\u0648\u0627\u0646 IP \u0648\u0627\u062d\u062f.<\/p>\n\n\n\n<p>\u0639\u0646\u062f \u0638\u0647\u0648\u0631 \u062e\u0637\u0623 <strong>502 Bad Gateway<\/strong> \u064a\u062c\u0628 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u062a\u0634\u063a\u064a\u0644 Backend \u0648\u0635\u062d\u0629 \u0627\u0644\u0645\u0646\u0641\u0630 \u0648\u0625\u0639\u062f\u0627\u062f <code>proxy_pass<\/code>. \u0623\u0645\u0627 \u062e\u0637\u0623 <strong>504 Gateway Timeout<\/strong> \u0641\u064a\u0634\u064a\u0631 \u063a\u0627\u0644\u0628\u064b\u0627 \u0625\u0644\u0649 \u0623\u0646 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0644\u0641\u064a \u062a\u0623\u062e\u0631 \u0641\u064a \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0627\u0633\u062a\u062c\u0627\u0628\u0629.<\/p>\n\n\n\n<p>\u0645\u0646 \u062e\u0644\u0627\u0644 \u0641\u0647\u0645 \u0645\u0633\u0627\u0631 \u0627\u0644\u0637\u0644\u0628\u060c \u0648\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0645\u062d\u0644\u064a\u064b\u0627\u060c \u0648\u0641\u062d\u0635 \u0627\u0644\u0645\u0646\u0627\u0641\u0630\u060c \u0648\u0645\u0631\u0627\u062c\u0639\u0629 \u0633\u062c\u0644\u0627\u062a NGINX \u0648\u0627\u0644\u062a\u0637\u0628\u064a\u0642\u060c \u064a\u0645\u0643\u0646 \u062a\u0634\u062e\u064a\u0635 \u0645\u0639\u0638\u0645 \u0623\u0639\u0637\u0627\u0644 Reverse Proxy \u0628\u0633\u0631\u0639\u0629 \u0648\u0645\u0646\u0639 \u062a\u0643\u0631\u0627\u0631\u0647\u0627.<\/p>\n\n\n\n<div style=\"background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;padding:1.5rem;margin-top:2rem;text-align:center;\"><p style=\"font-weight:700;font-size:1.1rem;margin-bottom:.5rem;\">\u0647\u0644 \u062a\u0628\u062d\u062b \u0639\u0646 \u0627\u0633\u062a\u0636\u0627\u0641\u0629 \u0645\u0648\u062b\u0648\u0642\u0629 \u0644\u0645\u0648\u0642\u0639\u0643\u061f<\/p><p style=\"color:#475569;margin-bottom:1rem;\">\u0634\u0631\u0643\u0629 \u0645\u0631\u0627\u0645 \u0647\u0648\u0633\u062a \u062a\u0642\u062f\u0645 \u0623\u0641\u0636\u0644 \u062d\u0644\u0648\u0644 \u0627\u0644\u0627\u0633\u062a\u0636\u0627\u0641\u0629 \u0648\u0627\u0644\u0633\u064a\u0631\u0641\u0631\u0627\u062a \u0628\u062f\u0639\u0645 \u0641\u0646\u064a \u0639\u0631\u0628\u064a 24\/7<\/p><a href=\"https:\/\/maram.iq\" target=\"_blank\" rel=\"noopener\" style=\"display:inline-block;background:#4f46e5;color:#fff;padding:.75rem 2rem;border-radius:10px;font-weight:600;text-decoration:none;\">\u0627\u0643\u062a\u0634\u0641 \u062e\u062f\u0645\u0627\u062a\u0646\u0627 &#8592;<\/a><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>\u0634\u0631\u062d NGINX Reverse Proxy 2026: \u0643\u064a\u0641 \u064a\u0631\u0628\u0637 \u0627\u0644\u062f\u0648\u0645\u064a\u0646 \u0628\u062a\u0637\u0628\u064a\u0642\u0643 \u0627\u0644\u062f\u0627\u062e\u0644\u064a \u0639\u0628\u0631 proxy_pass\u060c \u0625\u0639\u062f\u0627\u062f Node.js \u0648Python \u0648Docker\u060c \u062f\u0639\u0645 HTTPS \u0648WebSocket\u060c \u0648\u062d\u0644 \u0623\u062e\u0637\u0627\u0621 502 \u0648504.<\/p>\n","protected":false},"author":6,"featured_media":4486,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[180],"tags":[697,333,174,703,271,710,700,711,368,140],"class_list":["post-4484","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps-cloud","tag-502-bad-gateway","tag-docker","tag-linux","tag-linux-server","tag-nginx","tag-nginx-reverse-proxy","tag-node-js","tag-proxy_pass","tag-reverse-proxy","tag-140"],"_links":{"self":[{"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts\/4484","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=4484"}],"version-history":[{"count":2,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts\/4484\/revisions"}],"predecessor-version":[{"id":4490,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts\/4484\/revisions\/4490"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/media\/4486"}],"wp:attachment":[{"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/media?parent=4484"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/categories?post=4484"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/tags?post=4484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}