{"id":722,"date":"2025-09-19T15:09:14","date_gmt":"2025-09-19T11:39:14","guid":{"rendered":"https:\/\/rayka-co.ir\/new\/?post_type=lesson&#038;p=722"},"modified":"2025-11-09T12:00:32","modified_gmt":"2025-11-09T08:30:32","slug":"13-%d9%86%d8%b5%d8%a8-%d9%88-%d9%be%db%8c%da%a9%d8%b1%d8%a8%d9%86%d8%af%db%8c-nginx-%d8%a8%d9%87-%d8%b9%d9%86%d9%88%d8%a7%d9%86-reverse-proxy-%d8%a8%d8%b1%d8%a7%db%8c-forgejo","status":"publish","type":"lesson","link":"https:\/\/rayka-co.ir\/new\/\u062f\u0631\u0633\/13-%d9%86%d8%b5%d8%a8-%d9%88-%d9%be%db%8c%da%a9%d8%b1%d8%a8%d9%86%d8%af%db%8c-nginx-%d8%a8%d9%87-%d8%b9%d9%86%d9%88%d8%a7%d9%86-reverse-proxy-%d8%a8%d8%b1%d8%a7%db%8c-forgejo\/","title":{"rendered":"\u200b\u06f1\u06f3. \u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Nginx \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 reverse proxy \u0628\u0631\u0627\u06cc Forgejo \u200b"},"content":{"rendered":"\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u062f\u0631\u0633\u060c \u067e\u0633 \u0627\u0632 \u0646\u0635\u0628 \u0633\u0631\u0648\u06cc\u0633 Forgejo \u06a9\u0647 \u062f\u0631 \u062f\u0631\u0633 \u0642\u0628\u0644\u06cc \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u060c \u0628\u0647 \u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc <strong>Nginx \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 Reverse Proxy<\/strong> \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u06cc\u0645. \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636\u060c Forgejo \u0631\u0648\u06cc \u067e\u0648\u0631\u062a 3000 \u0648 \u0628\u0627 \u067e\u0631\u0648\u062a\u06a9\u0644 HTTP \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Reverse Proxy\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0631\u0648\u06cc \u067e\u0648\u0631\u062a\u200c\u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0648\u0628 (80 \u0648 443) \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u0645 \u0648 \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0622\u0646\u060c \u0628\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a <strong>\u06af\u0648\u0627\u0647\u06cc \u0645\u0639\u062a\u0628\u0631 SSL \u0627\u0632 Let\u2019s Encrypt<\/strong> \u0648 \u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc \u0622\u0646 \u062f\u0631 Nginx\u060c \u062f\u0633\u062a\u0631\u0633\u06cc \u0627\u0645\u0646 \u0628\u0647 \u0633\u0631\u0648\u06cc\u0633 Forgejo \u0627\u0632 \u0637\u0631\u06cc\u0642 HTTPS \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0634\u0627\u0645\u0644 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 Nginx Proxy Manager\u060c \u0627\u06cc\u062c\u0627\u062f Proxy Host\u060c \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc SSL \u0628\u0627 Certbot \u0648 \u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc \u0622\u0646 \u062f\u0631 Nginx \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<br>\u0645\u0648\u0627\u0631\u062f\u06cc \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0631\u0633 \u0628\u062d\u062b \u0648 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0639\u0628\u0627\u0631\u062a\u0646\u062f \u0627\u0632<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0645\u0639\u0631\u0641\u06cc Nginx \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 Reverse Proxy \u0628\u0631\u0627\u06cc Forgejo<\/li>\n\n\n\n<li>\u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc <strong>Nginx Proxy Manager<\/strong> \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker<\/li>\n\n\n\n<li>\u0627\u06cc\u062c\u0627\u062f Proxy Host \u0628\u0631\u0627\u06cc Forgejo<\/li>\n\n\n\n<li>\u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc SSL \u0645\u0639\u062a\u0628\u0631 \u0627\u0632 Let\u2019s Encrypt \u0628\u0627 <strong>Certbot<\/strong><\/li>\n\n\n\n<li>\u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc SSL \u0648 Force HTTPS \u062f\u0631 Nginx<\/li>\n\n\n\n<li>\u0628\u0631\u0631\u0633\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f Forgejo \u0627\u0632 \u0637\u0631\u06cc\u0642 HTTPS<\/li>\n<\/ul>\n\n\n<div class=\"sensei-block-wrapper\">\n<div class=\"wp-block-sensei-lms-lesson-actions\"><div class=\"sensei-buttons-container\">\n\n\n\n\n\n\n\n<\/div><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_initial_content":"","_new_post":false,"_quiz_has_questions":false,"_lesson_complexity":"easy","_lesson_length":10,"_lesson_course":338,"_lesson_preview":"preview"},"lesson-tag":[],"class_list":["post-722","lesson","type-lesson","status-publish","hentry","module-ci-cd-with-forgejo","post"],"_links":{"self":[{"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/lessons\/722","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/lessons"}],"about":[{"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/types\/lesson"}],"replies":[{"embeddable":true,"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/comments?post=722"}],"version-history":[{"count":3,"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/lessons\/722\/revisions"}],"predecessor-version":[{"id":980,"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/lessons\/722\/revisions\/980"}],"wp:attachment":[{"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/media?parent=722"}],"wp:term":[{"taxonomy":"lesson-tag","embeddable":true,"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/lesson-tag?post=722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}