{"id":81167,"date":"2024-10-23T07:38:48","date_gmt":"2024-10-23T04:08:48","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/"},"modified":"2024-10-23T07:38:48","modified_gmt":"2024-10-23T04:08:48","slug":"announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/","title":{"rendered":"\u0627\u0639\u0644\u0627\u0645 \u0627\u062f\u063a\u0627\u0645 \u0628\u06cc\u0646 Apache APISIX \u0648 open-appsec WAF"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang <\/p>\n<p>  \u0645\u0642\u062f\u0645\u0647<\/p>\n<p>open-appsec WAF \u0647\u06cc\u062c\u0627\u0646 \u0632\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u06cc\u06a9 \u0627\u062f\u063a\u0627\u0645 \u062c\u062f\u06cc\u062f \u0628\u0627 \u062f\u0631\u0648\u0627\u0632\u0647 API \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 Apache APISIX \u0631\u0627 \u0627\u0639\u0644\u0627\u0645 \u06a9\u0646\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0647\u0645\u06a9\u0627\u0631\u06cc \u062c\u062f\u06cc\u062f \u0628\u06cc\u0646 \u062a\u06cc\u0645\u200c\u0647\u0627\u06cc open-appsec \u0648 API7 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u0627\u0632 API\u0647\u0627\u06cc \u0648\u0628 \u0648 \u0633\u0627\u06cc\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u0648\u0628 \u062e\u0648\u062f \u06a9\u0647 \u062a\u0648\u0633\u0637 Apache APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062d\u0645\u0644\u0627\u062a \u0646\u0627\u0634\u0646\u0627\u062e\u062a\u0647 \u0648 \u0634\u0646\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0647\u200c\u0627\u0646\u062f\u060c \u0628\u0647\u200c\u0637\u0648\u0631 \u0645\u0624\u062b\u0631 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0641\u0646\u0627\u0648\u0631\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc open-appsec \u0645\u062d\u0627\u0641\u0638\u062a \u06a9\u0646\u0646\u062f \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0686\u0646\u062f\u06cc\u0646 \u0645\u0648\u0631\u062f \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u062a\u0631<\/p>\n<p>  \u062f\u0631\u0628\u0627\u0631\u0647 Apache APISIX<\/p>\n<p>Apache APISIX \u06cc\u06a9 \u0631\u0627\u0647\u200c\u062d\u0644 \u062f\u0631\u0648\u0627\u0632\u0647 API \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0645\u062f\u0631\u0646\u060c \u0627\u0646\u0639\u0637\u0627\u0641\u200c\u067e\u0630\u06cc\u0631 \u0648 \u0628\u0627 \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0628\u0627\u0644\u0627 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u062e\u062a\u0644\u0641 \u062f\u0631 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0648 \u0645\u0639\u0645\u0627\u0631\u06cc\u200c\u0647\u0627\u06cc \u0628\u0648\u0645\u06cc \u0627\u0628\u0631\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. \u0647\u062f\u0641 \u0627\u0635\u0644\u06cc \u0622\u0646 \u062a\u0633\u0647\u06cc\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a API \u0628\u0627 \u062e\u062f\u0645\u062a \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062f\u0631\u0648\u0627\u0632\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a\u060c \u0627\u06cc\u0645\u0646 \u0633\u0627\u0632\u06cc \u0648 \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u062a\u0631\u0627\u0641\u06cc\u06a9 API \u0628\u06cc\u0646 \u0645\u0634\u062a\u0631\u06cc\u0627\u0646 \u0648 \u062e\u062f\u0645\u0627\u062a \u0628\u0627\u0637\u0646 \u0627\u0633\u062a.<\/p>\n<p>\u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u06cc\u0634\u062a\u0631 \u0628\u0631\u0627\u06cc APISIX \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u062f\u0631\u0648\u0627\u0632\u0647 API \u0634\u0627\u0645\u0644 \u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631\u060c \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u0646\u0631\u062e\u060c \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0648 \u0645\u062c\u0648\u0632 \u0627\u0633\u062a. \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u062c\u0627\u0645\u0639\u06cc \u0645\u0627\u0646\u0646\u062f \u06a9\u0646\u062a\u0631\u0644 \u062a\u0631\u0627\u0641\u06cc\u06a9\u060c \u0628\u0627\u0644\u0627\u062f\u0633\u062a\u06cc \u067e\u0648\u06cc\u0627 \u0648 \u062a\u0648\u0633\u0639\u0647\u200c\u067e\u0630\u06cc\u0631\u06cc \u067e\u0644\u0627\u06af\u06cc\u0646 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0631\u0627 \u0642\u0627\u062f\u0631 \u0645\u06cc\u200c\u0633\u0627\u0632\u062f \u062a\u0627 \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627 \u0631\u0627 \u0645\u0637\u0627\u0628\u0642 \u0628\u0627 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u062e\u0627\u0635 \u062e\u0648\u062f \u0633\u0641\u0627\u0631\u0634\u06cc\u200c\u0633\u0627\u0632\u06cc \u0648 \u06af\u0633\u062a\u0631\u0634 \u062f\u0647\u0646\u062f.<\/p>\n<p>  \u062f\u0631\u0628\u0627\u0631\u0647 open-appsec WAF<\/p>\n<p>open-appsec WAF \u067e\u06cc\u0634\u06af\u06cc\u0631\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0648 \u067e\u06cc\u0634\u06af\u06cc\u0631\u0627\u0646\u0647 \u0627\u0632 \u062a\u0647\u062f\u06cc\u062f \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0627 \u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641 \u067e\u0631\u0627\u06a9\u0633\u06cc \u0647\u0627\u06cc \u0645\u0639\u06a9\u0648\u0633 \u0645\u0627\u0646\u0646\u062f NGINX \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631\u0648\u0627\u0632\u0647 \u0647\u0627\u06cc API \u0645\u0627\u0646\u0646\u062f APISIX \u0627\u062f\u063a\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f. \u0627\u06cc\u0646 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc \u0627\u0633\u062a\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0628\u0647 \u0647\u06cc\u0686 \u0648\u062c\u0647 \u0628\u0647 \u0627\u0645\u0636\u0627 (\u06cc\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc) \u0646\u06cc\u0627\u0632 \u0646\u062f\u0627\u0631\u062f. \u0627\u06cc\u0646 \u0628\u0647 \u0622\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u062d\u062a\u06cc \u0628\u0631\u0627\u06cc \u062d\u0645\u0644\u0627\u062a \u0631\u0648\u0632 \u0635\u0641\u0631 \u0648\u0627\u0642\u0639\u06cc\u060c \u067e\u06cc\u0634\u06af\u06cc\u0631\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0632 \u062a\u0647\u062f\u06cc\u062f\u0627\u062a \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u062f \u0648 \u062f\u0631 \u0639\u06cc\u0646 \u062d\u0627\u0644 \u062a\u0644\u0627\u0634\u200c\u0647\u0627\u06cc \u0627\u062f\u0627\u0631\u06cc \u0648 \u0645\u06cc\u0632\u0627\u0646 \u0645\u0648\u0627\u0631\u062f \u0645\u062b\u0628\u062a \u06a9\u0627\u0630\u0628 \u0631\u0627 \u0628\u0647 \u0645\u06cc\u0632\u0627\u0646 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u06a9\u0627\u0647\u0634 \u062f\u0647\u062f.<\/p>\n<p>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c open-appsec \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0644\u0627\u06cc\u0647\u200c\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0627\u0636\u0627\u0641\u06cc \u0645\u0627\u0646\u0646\u062f AntiBot\u060c \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u0646\u0631\u062e\u060c \u0627\u062c\u0631\u0627\u06cc \u0637\u0631\u062d\u0648\u0627\u0631\u0647\u060c \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0627\u0645\u0636\u0627\u06cc \u062e\u0631\u0648\u067e\u0641\u060c \u0642\u0648\u0627\u0646\u06cc\u0646 \u0633\u0641\u0627\u0631\u0634\u06cc\/\u0627\u0633\u062a\u062b\u0646\u0627\u0647\u0627 \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f. open-appsec \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628 \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 SaaS \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0644\u0627\u0645\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0631\u062f.<\/p>\n<p>  \u0627\u062f\u063a\u0627\u0645 Apache APISIX \u0628\u0627 open-appsec<\/p>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u0627\u062f\u063a\u0627\u0645 \u062c\u062f\u06cc\u062f\u060c \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 APISIX \u0627\u06a9\u0646\u0648\u0646 \u0628\u0647 WAF open-appsec \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0631\u0627\u0647 \u062d\u0644 WAF \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0648 \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0645\u062d\u0627\u0641\u0638\u062a \u0627\u0632 API \u0647\u0627\u06cc \u0648\u0628 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648\u0628 \u062e\u0648\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u0646\u062f \u062f\u0627\u0634\u062a.<\/p>\n<p>\u0622\u0646\u200c\u0647\u0627 \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0627\u0632 \u0646\u0633\u062e\u0647 \u0631\u0627\u06cc\u06af\u0627\u0646 \u0648 \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 Open-appsec \u0628\u0631\u0627\u06cc \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u0624\u062b\u0631 \u0648 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a \u0634\u0646\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0627\u0645\u0627 \u0646\u0627\u0634\u0646\u0627\u062e\u062a\u0647 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u062f\u0631\u0648\u0627\u0632\u0647 API APISIX \u062e\u0648\u062f \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f \u0648 \u062f\u0631 \u0639\u06cc\u0646 \u062d\u0627\u0644 \u0645\u06cc\u0632\u0627\u0646 \u0646\u0627\u062f\u0631\u0633\u062a \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u0646\u062f. \u0645\u0648\u0627\u0631\u062f \u0645\u062b\u0628\u062a \u0628\u0647 \u0637\u0648\u0631 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u0645\u062f\u06cc\u0631 \u0631\u0627 \u0627\u0632 \u0648\u0638\u0627\u06cc\u0641 \u062e\u0633\u062a\u0647 \u06a9\u0646\u0646\u062f\u0647 \u0627\u06cc \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u062c\u0627\u062f \u0627\u0633\u062a\u062b\u0646\u0627\u0621\u060c \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u062e\u0637 \u0645\u0634\u06cc \u0647\u0627\u06cc \u0633\u0646\u062a\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0627\u0645\u0636\u0627 \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0631\u0647\u0627 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0627\u062f\u063a\u0627\u0645 \u0628\u0631\u0627\u06cc \u0647\u0645\u0647 \u067e\u0644\u062a\u0641\u0631\u0645 \u0647\u0627\u06cc \u0631\u0627\u06cc\u062c \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f: \u0644\u06cc\u0646\u0648\u06a9\u0633\u060c \u062f\u0627\u06a9\u0631 \u0648 \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0633.<\/p>\n<p>  \u0644\u06cc\u0646\u0648\u06a9\u0633<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0647\u0627\u06cc &#8220;\u062c\u0627\u0633\u0627\u0632\u06cc \u0634\u062f\u0647&#8221; \u0644\u06cc\u0646\u0648\u06a9\u0633 \u062f\u0631 APISIX\u060c \u06cc\u06a9 \u0646\u0635\u0628 \u06a9\u0646\u0646\u062f\u0647 open-appsec \u06cc\u06a9 \u0645\u0627\u0698\u0648\u0644 &#8220;open-appsec attachment&#8221; \u0631\u0627 \u0628\u0647 \u0646\u0635\u0628 APISIX \u0645\u0648\u062c\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 &#8220;open-appsec agent&#8221; \u0631\u0627 \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0622\u0646 \u0646\u0635\u0628 \u0645\u06cc \u06a9\u0646\u062f\u060c \u06a9\u0647 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u0627\u0632 \u067e\u06cc\u0648\u0633\u062a \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u062f\u060c \u0622\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f. \u0639\u0645\u0644 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0631\u0633\u06cc\u062f \u0628\u0631\u0627\u06cc \u0645\u0633\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u06cc\u0627 \u0627\u062c\u0627\u0632\u0647 \u062f\u0627\u062f\u0646 \u0628\u0647 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0628\u0647 APISIX \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u067e\u06cc\u0648\u0633\u062a open-appsec \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0634\u062f\u0647 \u0628\u0627 \u0622\u0646.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0634\u0645\u0627\u062a\u06cc\u06a9 \u0645\u0639\u0645\u0627\u0631\u06cc \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>  \u062f\u0627\u06a9\u0631<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0647\u0627\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 Docker \u0627\u0632 APISIX \u0628\u0627 open-appsec WAF\u060c \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 APISIX \u0648\u06cc\u0698\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a\u060c \u06a9\u0647 \u067e\u06cc\u0648\u0633\u062a open-appsec \u0642\u0628\u0644\u0627\u064b \u0628\u0647 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 docker-compose \u067e\u06cc\u0634\u0631\u0641\u062a\u0647\u060c \u06a9\u0647 \u0647\u0631 \u062f\u0648\u060c \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u06a9 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0628\u0627\u0632 \u0631\u0627 \u0628\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u062f. appsec Agent \u06a9\u0647 \u0628\u0627\u0632\u0631\u0633\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f \u0648 \u062a\u0635\u0645\u06cc\u0645\u0627\u062a \u0646\u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0647 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f \u062a\u0627 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u0645\u062c\u0627\u0632 \u06cc\u0627 \u0645\u0633\u062f\u0648\u062f \u06a9\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0634\u0645\u0627\u062a\u06cc\u06a9 \u0645\u0639\u0645\u0627\u0631\u06cc \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 Docker \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>  \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0633<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0647\u0627\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 Kubernetes \u0627\u0632 APISIX \u06a9\u0647 \u0628\u0627 open-appsec \u0627\u062f\u063a\u0627\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u06cc\u06a9 \u0646\u0645\u0648\u062f\u0627\u0631 Helm \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0646\u0645\u0648\u062f\u0627\u0631 \u0631\u0633\u0645\u06cc APISIX Helm \u0627\u0633\u062a \u0648 \u0628\u06cc\u0634\u062a\u0631 \u0628\u0647\u0628\u0648\u062f \u06cc\u0627\u0641\u062a\u0647 \u0627\u0633\u062a \u062a\u0627 \u067e\u06cc\u0648\u0633\u062a open-appsec \u0631\u0627 \u062f\u0631 \u0638\u0631\u0641 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u0646\u06cc\u0632 \u0634\u0627\u0645\u0644 \u0634\u0648\u062f \u0648 \u0639\u0627\u0645\u0644 open-appsec \u0631\u0627 \u0646\u06cc\u0632 \u0645\u0633\u062a\u0642\u0631 \u0645\u06cc \u06a9\u0646\u062f. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0634\u0645\u0627 \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a \u06a9\u0647 open-appsec \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc &#8220;\u0633\u0628\u06a9 DevOps&#8221; \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u0646\u0627\u0628\u0639 \u0633\u0641\u0627\u0631\u0634\u06cc \u062f\u0631 K8s \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc open-appsec \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0634\u0645\u0627\u062a\u06cc\u06a9 \u0645\u0639\u0645\u0627\u0631\u06cc \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 Kubernetes \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>  \u0627\u0641\u0632\u0648\u062f\u0646 open-appsec WAF \u0628\u0647 APISIX \u062f\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 open-appsec \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0628\u0627 \u0646\u0635\u0628 APISIX\u060c \u0644\u0637\u0641\u0627\u064b \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>  1. \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627<\/p>\n<p>\u067e\u0644\u062a\u0641\u0631\u0645 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0628\u0627\u06cc\u062f \u0627\u0648\u0628\u0648\u0646\u062a\u0648 22.04 \u0628\u0627\u0634\u062f.<br \/>\n\u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 APISIX \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0644\u06cc\u0633\u062a \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc\u200c\u0634\u062f\u0647 APISIX \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f: https:\/\/downloads.openappsec.io\/packages\/supported-apisix.txt.<\/p>\n<p>\u0627\u06af\u0631 \u0647\u0646\u0648\u0632 APISIX \u0631\u0627 \u0646\u0635\u0628 \u0646\u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 APISIX \u062f\u0631 \u062d\u0627\u0644\u062a \u0633\u0646\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u062a\u060c \u0627\u0628\u062a\u062f\u0627 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 etcd \u0631\u0627 \u0628\u0631\u0627\u06cc APISIX \u0646\u0635\u0628 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0633\u067e\u0633 \u0645\u062e\u0627\u0632\u0646 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0646\u0635\u0628 \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc APISIX \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 etcd \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/p>\n<p>ETCD_VERSION=&#8217;3.5.4&#8242;<br \/>\nwget https:\/\/github.com\/etcd-io\/etcd\/releases\/download\/v${ETCD_VERSION}\/etcd-v${ETCD_VERSION}-linux-amd64.tar.gz<br \/>\ntar -xvf etcd-v${ETCD_VERSION}-linux-amd64.tar.gz &amp;&amp; cd etcd-v${ETCD_VERSION}-linux-amd64<br \/>\ncp -a etcd etcdctl \/usr\/bin\/<br \/>\nnohup etcd &gt;\/tmp\/etcd.log 2&gt;&amp;1 &amp;<br \/>\netcd<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u0641\u0632\u0648\u062f\u0646 \u0648 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0645\u062e\u0627\u0632\u0646 \u0628\u0633\u062a\u0647<\/p>\n<p>apt install gnupg<br \/>\necho &#8220;deb http:\/\/openresty.org\/package\/debian bullseye openresty&#8221; | tee \/etc\/apt\/sources.list.d\/openresty.list<br \/>\nwget -O &#8211; https:\/\/openresty.org\/package\/pubkey.gpg | apt-key add &#8211;<br \/>\nwget -O &#8211; http:\/\/repos.apiseven.com\/pubkey.gpg | apt-key add &#8211;<br \/>\necho &#8220;deb http:\/\/repos.apiseven.com\/packages\/debian bullseye main&#8221; | tee \/etc\/apt\/sources.list.d\/apisix.list<br \/>\napt update<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>APISIX \u0631\u0627 \u0646\u0635\u0628\u060c \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>apt install apisix=3.9.1-0<br \/>\napisix init<br \/>\napisix start<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  2. Open-appsec Installer \u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>wget https:\/\/downloads.openappsec.io\/open-appsec-install &amp;&amp; chmod +x open-appsec-install<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  3. open-appsec \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u062f\u063a\u0627\u0645 \u0628\u0627 \u0646\u0635\u0628 APISIX \u0645\u0648\u062c\u0648\u062f\u060c open-appsec \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 &#8211;prevent flag open-appsec \u0631\u0627 \u0628\u0627 \u062e\u0637\u200c\u0645\u0634\u06cc \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u0632 \u0642\u0628\u0644 \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0646\u0635\u0628 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p>.\/open-appsec-install &#8211;auto &#8211;prevent<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  4. \u06a9\u0644\u06cc\u062f \u0645\u062f\u06cc\u0631\u06cc\u062a APISIX \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u06a9\u0644\u06cc\u062f \u0645\u062f\u06cc\u0631\u06cc\u062a APISIX \u0631\u0627 \u0627\u0632 APISIX \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f config.yaml \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648 \u0630\u062e\u06cc\u0631\u0647 \u0622\u0646 \u062f\u0631 APISIX_KEY \u0645\u062a\u063a\u06cc\u0631 env<\/p>\n<p>export APISIX_KEY=$(awk &#8216;\/key:\/{ if ($2 ~ \/^edd1\/) print $2 }&#8217; \/usr\/local\/apisix\/conf\/config.yaml )<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  5. Route to Expose Services \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u0646\u0645\u0648\u0646\u0647 \u0631\u0627 \u062f\u0631 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u06cc\u06a9 \u0648\u0628 \u0633\u0631\u0648\u06cc\u0633 \u062e\u0627\u0631\u062c\u06cc \u06cc\u0627 \u0648\u0628 API \u0631\u0627 \u0646\u0634\u0627\u0646 \u062f\u0647\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0627\u0632 httpbin.org \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0646\u0645\u0648\u0646\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646.<\/p>\n<p>curl http:\/\/127.0.0.1:9180\/apisix\/admin\/routes\/100 -H &#8220;X-API-KEY:$APISIX_KEY&#8221; -X PUT -d &#8216;{<br \/>\n    &#8220;methods&#8221;: [<br \/>\n      &#8220;GET&#8221;<br \/>\n    ],<br \/>\n    &#8220;uri&#8221;: &#8220;\/anything&#8221;,<br \/>\n    &#8220;upstream&#8221;: {<br \/>\n      &#8220;type&#8221;: &#8220;roundrobin&#8221;,<br \/>\n      &#8220;nodes&#8221;: {<br \/>\n        &#8220;httpbin.org:80&#8221;: 1<br \/>\n      }<br \/>\n    }<br \/>\n  }&#8217;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  6. \u0627\u0639\u062a\u0628\u0627\u0631 \u0633\u0646\u062c\u06cc<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0627\u06cc\u0646 \u0645\u0633\u06cc\u0631 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0622\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631.<\/p>\n<p>curl -s -v -G &#8211;data-urlencode email=user@domain.abc http:\/\/localhost:9080\/anything<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  7. \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0633\u0639\u06cc \u06a9\u0646\u06cc\u0645 \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645 (\u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u062f \u0628\u0647 &#8216;OR &#8216;1&#8217;=&#8217;1&#8242; \u062f\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a HTTP \u0632\u06cc\u0631) \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 httpbin.org \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u062f \u06a9\u0647 \u0627\u06a9\u0646\u0648\u0646 \u062a\u0648\u0633\u0637 WAF open-appsec \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>curl -s -v -G &#8211;data-urlencode email=user@domain.abc&#8217; OR &#8216;1&#8217;=&#8217;1 http:\/\/localhost:9080\/anything<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u062d\u0645\u0644\u0647 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u0634\u062f\u0647 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u062a\u0648\u0633\u0637 \u0645\u0648\u062a\u0648\u0631 WAF \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc \u0645\u062a\u0646\u06cc open-appsec \u0645\u0633\u062f\u0648\u062f \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>  8. \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u06af\u0632\u0627\u0631\u0634 \u0631\u0627 \u0645\u0631\u0648\u0631 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u06af\u0632\u0627\u0631\u0634 \u0645\u0631\u0628\u0648\u0637\u0647 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u00ab\u062c\u0644\u0648\u06af\u06cc\u0631\u06cc\u00bb \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a HTTP \u0628\u0627 \u062d\u0645\u0644\u0647 \u0634\u0628\u06cc\u0647\u200c\u0633\u0627\u0632\u06cc\u200c\u0634\u062f\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0647\u0645\u200c\u0627\u06a9\u0646\u0648\u0646 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0631\u062f\u06cc\u0645\u060c \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n<p>tail -f \/var\/log\/nano_agent\/cp-nano-http-transaction-handler.log*| grep -i user@domain.abc<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0628\u0647 \u0637\u0648\u0631 \u0645\u062a\u0646\u0627\u0648\u0628 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 open-appsec-ctl \u0627\u0628\u0632\u0627\u0631:<\/p>\n<p>open-appsec-ctl &#8211;view-logs | grep -i user@domain.abc<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  9. \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc \u0628\u0647 open-appsec \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u062f (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<\/p>\n<p>\u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06a9\u0646\u0648\u0646 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 https:\/\/my.openappsec.io \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc open-appsec \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0622\u0633\u0627\u0646 \u0648\u0628\u060c \u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647 \u0628\u062e\u0634 \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f. \u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 WAF open-appsec \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u0645\u061f \u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0645\u0637\u0644\u0628<\/p>\n<p>\u062a\u0628\u0631\u06cc\u06a9 \u0645\u06cc \u06af\u0648\u06cc\u0645! \u0634\u0645\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a WAF open-appsec \u0631\u0627 \u0628\u0647 \u0646\u0635\u0628 APISIX \u0645\u0648\u062c\u0648\u062f \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u06cc\u062f \u0648 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0631\u062f\u06cc\u062f \u06a9\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u0648\u0628 \u0634\u0645\u0627 \u06a9\u0647 \u062a\u0648\u0633\u0637 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u0646\u062f \u0627\u06a9\u0646\u0648\u0646 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a \u0648\u0628 \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<p>  \u0627\u0633\u062a\u0642\u0631\u0627\u0631 APISIX \u0628\u0627 WAF open-appsec \u062f\u0631 \u0628\u0633\u062a\u0631\u0647\u0627\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc (Docker)<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 APISIX \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0628\u0627 open-appsec \u062f\u0631 Docker\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0631\u062e\u0644\u0627\u0641 \u0645\u062b\u0627\u0644 \u0628\u0627\u0644\u0627\u060c \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u0627 APISIX \u0631\u0627 \u062f\u0631 &#8220;\u062d\u0627\u0644\u062a \u0645\u0633\u062a\u0642\u0644&#8221; \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u0639\u0644\u0627\u0645\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u0627\u062a\u0635\u0627\u0644 \u062d\u062c\u0645 docker \u0628\u0627 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 yaml \u06a9\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc\u200c\u0647\u0627 \u0631\u0627 \u0646\u06af\u0647 \u0645\u06cc\u200c\u062f\u0627\u0631\u062f\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 etcd \u0646\u062f\u0627\u0631\u062f.<\/p>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 APISIX \u0627\u0632 \u0647\u0631 \u062f\u0648 \u062d\u0627\u0644\u062a \u0633\u0646\u062a\u06cc \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062d\u0627\u0644\u062a \u0645\u0633\u062a\u0642\u0644 \u062f\u0631 \u0647\u0645\u0647 \u0627\u0646\u0648\u0627\u0639 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 (\u0644\u06cc\u0646\u0648\u06a9\u0633\u060c \u062f\u0627\u06a9\u0631\u060c &#8230;) \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>  1. \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632<\/p>\n<p>\u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u06cc\u06a9 \u067e\u0644\u062a\u0641\u0631\u0645 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0628\u0627 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc Docker \u0648 Docker-compose \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>  2. \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u0631\u0627\u06cc open-appsec \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u062f\u0631 \u067e\u0648\u0634\u0647 \u0627\u06cc \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u060c \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f appsec-localconfig \u06a9\u0647 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0644\u0627\u0645\u06cc appsec \u0631\u0627 \u0646\u06af\u0647 \u0645\u06cc \u062f\u0627\u0631\u062f:<\/p>\n<p>mkdir .\/appsec-localconfig<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  3. \u0641\u0627\u06cc\u0644 open-appsec \u0631\u0627 \u062f\u0631 \u067e\u0648\u0634\u0647 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0644\u0627\u0645\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0628\u0631\u0627\u06cc open-appsec \u0631\u0627 \u062f\u0631 \u0622\u0646 \u067e\u0648\u0634\u0647 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<p>wget https:\/\/raw.githubusercontent.com\/openappsec\/openappsec\/main\/config\/linux\/latest\/prevent\/local_policy.yaml -O appsec-localconfig\/local_policy.yaml<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u0646\u0645\u0648\u0646\u0647 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0644\u0627\u0645\u06cc \u0627\u0632 \u0642\u0628\u0644 \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062d\u0645\u0644\u0627\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>  4. \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u0631\u0627\u06cc APISIX \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u06cc\u06a9 \u067e\u0648\u0634\u0647 \u062f\u06cc\u06af\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f apisix-localconfig \u06a9\u0647 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0644\u0627\u0645\u06cc APISIX \u0631\u0627 \u0646\u06af\u0647 \u0645\u06cc \u062f\u0627\u0631\u062f: mkdir .\/apisix-localconfig.<\/p>\n<p>  5. \u0641\u0627\u06cc\u0644 APISIX \u0631\u0627 \u062f\u0631 \u067e\u0648\u0634\u0647 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0627\u062f\u0647 \u0631\u0627 \u0646\u06cc\u0632 \u0628\u0631\u0627\u06cc APISIX \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u062d\u0641\u0627\u0638\u062a Open-appsec \u0631\u0627 \u067e\u0633 \u0627\u0632 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n<p>wget https:\/\/raw.githubusercontent.com\/openappsec\/openappsec\/main\/deployment\/apisix\/apisix-example-config\/apisix-standalone.yaml -O .\/apisix-localconfig\/apisix-standalone.yaml<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  6. \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 docer-compose.yaml \u0641\u0627\u06cc\u0644<\/p>\n<p>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 docker-compose.yaml \u0641\u0627\u06cc\u0644 \u0628\u0627 \u0645\u062d\u062a\u0648\u0627\u06cc \u0632\u06cc\u0631 \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0642\u0627\u0628\u0644 \u062f\u0627\u0646\u0644\u0648\u062f \u0627\u0633\u062a:<\/p>\n<p>wget https:\/\/raw.githubusercontent.com\/openappsec\/openappsec\/main\/deployment\/apisix\/docker-compose.yaml<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>version: &#8220;3&#8221;<\/p>\n<p>services:<br \/>\n  apisix:<br \/>\n    container_name: apisix<br \/>\n    image: &#8220;ghcr.io\/openappsec\/apisix-attachment:latest&#8221;<br \/>\n    ipc: service:appsec-agent<br \/>\n    restart: always<br \/>\n    volumes:<br \/>\n      &#8211; .\/apisix-localconfig\/apisix-standalone.yaml:\/usr\/local\/apisix\/conf\/apisix.yaml:ro<br \/>\n    environment:<br \/>\n      &#8211; APISIX_STAND_ALONE=true<br \/>\n    ports:<br \/>\n      &#8211; &#8220;9180:9180\/tcp&#8221;<br \/>\n      &#8211; &#8220;9080:9080\/tcp&#8221;<br \/>\n      &#8211; &#8220;9091:9091\/tcp&#8221;<br \/>\n      &#8211; &#8220;9443:9443\/tcp&#8221;<\/p>\n<p>  appsec-agent:<br \/>\n    container_name: appsec-agent<br \/>\n    image: &#8216;ghcr.io\/openappsec\/agent:latest&#8217;<br \/>\n    ipc: shareable<br \/>\n    restart: unless-stopped<br \/>\n    environment:<br \/>\n      # adjust with your own email below<br \/>\n      &#8211; user_email=user@email.com<br \/>\n      &#8211; registered_server=&#8221;APISIX Server&#8221;<br \/>\n    volumes:<br \/>\n      &#8211; .\/appsec-config:\/etc\/cp\/conf<br \/>\n      &#8211; .\/appsec-data:\/etc\/cp\/data<br \/>\n      &#8211; .\/appsec-logs:\/var\/log\/nano_agent<br \/>\n      &#8211; .\/appsec-localconfig:\/ext\/appsec<br \/>\n    command: \/cp-nano-agent<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  7. \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<\/p>\n<p>\u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f docker-compose.yaml \u0641\u0627\u06cc\u0644 \u0648 \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 &#8220;user@email.com&#8221; \u06a9\u0646\u06cc\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u062f\u0631 \u0635\u0648\u0631\u062a \u0628\u0631\u0648\u0632 \u0647\u0631 \u06af\u0648\u0646\u0647 \u0645\u0634\u06a9\u0644\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0627\u0635 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u06a9\u0645\u06a9 \u06a9\u0646\u06cc\u0645 \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0641\u0639\u0627\u0644 \u062f\u0631 \u0645\u0648\u0631\u062f open-appsec \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u0645.<\/p>\n<p>\u0627\u06cc\u0646 \u06cc\u06a9 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0627\u0633\u062a \u0648 \u0642\u0627\u0628\u0644 \u062d\u0630\u0641 \u0627\u0633\u062a. \u0627\u06af\u0631 \u0627\u06cc\u0645\u06cc\u0644\u200c\u0647\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u0645\u060c \u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0627\u0646\u0635\u0631\u0627\u0641 \u0646\u06cc\u0632 \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0631\u062a\u0628\u0627\u0637\u0627\u062a \u0645\u0634\u0627\u0628\u0647 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0648\u062c\u0648\u062f \u062e\u0648\u0627\u0647\u062f \u062f\u0627\u0634\u062a.<\/p>\n<p>  8. All Containers \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0627\u062c\u0631\u0627\u06cc docker-compose up \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0647\u0645\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637\u0647:<\/p>\n<p>docker-compose up -d<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  9. \u0648\u0636\u0639\u06cc\u062a \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u06cc\u0627 apisix-attachment \u0648 appsec-agent \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627 \u0622\u0645\u0627\u062f\u0647 \u0648 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<p>docker ps<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  10. \u0627\u0639\u062a\u0628\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u06cc\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u062a\u0642\u0644 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0622\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631.<\/p>\n<p>curl -s -v -G &#8211;data-urlencode email=user@domain.abc http:\/\/localhost:9080\/anything<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  11. \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0633\u0639\u06cc \u06a9\u0646\u06cc\u0645 \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0639\u0644\u06cc\u0647 \u0633\u0631\u0648\u06cc\u0633 httpin.org \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0627\u06a9\u0646\u0648\u0646 \u062a\u0648\u0633\u0637 open-appsec \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>curl -s -v -G &#8211;data-urlencode email=user@domain.abc&#8217; OR &#8216;1&#8217;=&#8217;1 http:\/\/localhost:9080\/anything<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  12. \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc \u0628\u0647 open-appsec \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u062f (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<\/p>\n<p>\u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06a9\u0646\u0648\u0646 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0622\u0646 \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f https:\/\/my.openappsec.io \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc open-appsec \u0628\u0627 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0622\u0633\u0627\u0646 \u0648\u0628\u060c \u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631\u060c \u0628\u0647 \u0628\u062e\u0634 \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f \u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 WAF open-appsec \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u0645\u061f \u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0645\u0637\u0644\u0628<\/p>\n<p>  \u0627\u0633\u062a\u0642\u0631\u0627\u0631 APISIX \u0628\u0627 WAF open-appsec \u062f\u0631 Kubernetes \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Helm<\/p>\n<p>  1. \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632<\/p>\n<p>\u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u067e\u0644\u062a\u0641\u0631\u0645 Kubernetes \u0648 \u0627\u0628\u0632\u0627\u0631 Helm \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0647\u0633\u062a\u0646\u062f.<\/p>\n<p>  2. open-appsec \u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>Open-appsec \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u062f\u0627\u0631 APISIX Helm \u0627\u0632 \u0627\u06cc\u0646\u062c\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<p>wget https:\/\/downloads.openappsec.io\/packages\/helm-charts\/apisix\/open-appsec-k8s-apisix-latest.tgz<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  3. Helm Chart \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 helm install \u062f\u0633\u062a\u0648\u0631 \u062f\u0631 \u062d\u0627\u0644 \u0646\u0635\u0628 open-appsec \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u062f\u0627\u0631 APISIX Helm \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0646\u0633\u062e\u0647 \u062a\u0648\u0633\u0639\u0647 \u06cc\u0627\u0641\u062a\u0647 \u0646\u0645\u0648\u062f\u0627\u0631 \u0631\u0633\u0645\u06cc APISIX Helm \u0627\u0633\u062a.<\/p>\n<p>\u0627\u06cc\u0646 \u062f\u0631\u06af\u0627\u0647 APISIX \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0648\u0631\u0648\u062f\u06cc APISIX \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 WAF open-appsec \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0634\u062f\u0647 \u0628\u0627 \u0622\u0646 \u0631\u0627 \u0645\u0633\u062a\u0642\u0631 \u0645\u06cc \u06a9\u0646\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0636\u0627\u0641\u06cc \u0628\u0647 \u0637\u0648\u0631 \u062e\u0627\u0635 \u0628\u0631\u0627\u06cc WAF open-appsec \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f (\u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u062f \u0628\u0647 values.yaml \u062f\u0627\u062e\u0644 \u0646\u0645\u0648\u062f\u0627\u0631 Helm \u0648 \u0627\u0633\u0646\u0627\u062f open-appsec).<\/p>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0646\u0627\u0628\u0639 \u0648\u0631\u0648\u062f\u06cc K8 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0644\u0627\u0633 \u0648\u0631\u0648\u062f\u06cc \u0632\u06cc\u0631 \u0628\u0647 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0647\u06cc\u062f: appsec-apisix.<\/p>\n<p>helm install open-appsec-k8s-apisix-latest.tgz \\<br \/>\n&#8211;name-template=appsec-apisix \\<br \/>\n&#8211;set rbac.create=true \\<br \/>\n&#8211;set appsec.mode=standalone \\<br \/>\n&#8211;set service.type=LoadBalancer \\<br \/>\n&#8211;set appsec.persistence.enabled=false \\<br \/>\n&#8211;set ingress-controller.enabled=true \\<br \/>\n&#8211;set ingress-controller.config.ingressClass=appsec-apisix \\<br \/>\n&#8211;set appsec.userEmail=\u201d\u201d \\<br \/>\n&#8211;set appsec.agentToken= \\<br \/>\n&#8211;create-namespace \\<br \/>\n-n appsec-apisix<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062f\u0631 \u062f\u0633\u062a\u0648\u0631 \u0646\u0635\u0628 Helm \u062f\u0631 \u0628\u0627\u0644\u0627 \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u062e\u0628\u0627\u0631 \u0648 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 open-appsec \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u0645 \u0648 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0628\u0647\u062a\u0631 \u0627\u0632 \u0634\u0645\u0627 \u062f\u0631 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0634\u0645\u0627 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u06a9\u0646\u06cc\u0645! \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0647\u0631 \u0632\u0645\u0627\u0646 \u06cc\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u062a\u0646\u0627\u0648\u0628 \u0627\u0634\u062a\u0631\u0627\u06a9 \u062e\u0648\u062f \u0631\u0627 \u0644\u063a\u0648 \u06a9\u0646\u06cc\u062f\u060c \u0641\u0642\u0637 \u0627\u06af\u0631 \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc \u062f\u0647\u06cc\u062f \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0646\u06a9\u0646\u06cc\u062f\u060c \u0622\u0646 \u062e\u0637 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>  4. \u0627\u0639\u062a\u0628\u0627\u0631 \u0633\u0646\u062c\u06cc<\/p>\n<p>\u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u063a\u0644\u0627\u0641 \u0647\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0645\u0633\u062a\u0642\u0631 \u0634\u062f\u0647 \u0627\u0646\u062f \u0648 \u062f\u0631 \u062d\u0627\u0644\u062a \u0622\u0645\u0627\u062f\u0647 \u0647\u0633\u062a\u0646\u062f:<\/p>\n<p>kubectl get pods -n appsec-apisix<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  5. \u06cc\u06a9 \u0645\u0646\u0628\u0639 \u0633\u06cc\u0627\u0633\u062a \u0628\u0627\u0632 appsec \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f &#8220;open-appsec-best-practice-policy&#8221; \u062f\u0631 K8s \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u0633\u06cc\u0627\u0633\u062a \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u0642\u0628\u0644 \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062d\u0645\u0644\u0627\u062a \u0627\u0632 \u067e\u06cc\u0634 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>kubectl apply -f https:\/\/raw.githubusercontent.com\/openappsec\/openappsec\/main\/config\/k8s\/v1beta1\/open-appsec-k8s-prevent-config-v1beta1.yaml<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062e\u0637 \u0645\u0634\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u062a\u0645\u0627\u0645 \u062c\u0632\u0626\u06cc\u0627\u062a \u0631\u0627 \u067e\u06cc\u062f\u0627 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>  6. \u0646\u0627\u0645 \u0645\u0646\u0628\u0639 \u0647\u062f\u0641 \u0631\u0627 \u0648\u0627\u06a9\u0634\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0646\u0627\u0645 \u0645\u0646\u0628\u0639 \u0648\u0631\u0648\u062f\u06cc \u0645\u0631\u0628\u0648\u0637\u0647 \u0631\u0627 \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u062d\u0627\u0641\u0638\u062a \u06a9\u0646\u06cc\u062f \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>kubectl get ing -A<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  7. \u0645\u0646\u0628\u0639 Ingress \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f<\/p>\n<p>kubectl edit ing\/ -n <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  8. \u0646\u0627\u0645 ingressClass \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f<\/p>\n<p>\u0646\u0627\u0645 ingressClass \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 open-appsec \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n<p>spec: ingressClassName: appsec-apisix<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  9. Annotation \u0631\u0627 \u0628\u0647 \u0645\u0646\u0628\u0639 Ingress \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u062d\u0627\u0634\u06cc\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0631\u0627 \u0628\u0647 \u0645\u0646\u0628\u0639 \u0648\u0631\u0648\u062f\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u0645\u0646\u0628\u0639 \u0633\u0641\u0627\u0631\u0634\u06cc \u0633\u06cc\u0627\u0633\u062a open-appsec \u0645\u0648\u0631\u062f \u0646\u0638\u0631\u060c open-appsec \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0648\u0631\u0648\u062f\u06cc \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>openappsec.io\/policy: open-appsec-best-practice-policy<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  10. \u0627\u0639\u062a\u0628\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u06cc\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u062a\u0642\u0644 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0622\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631:<\/p>\n<p>curl -s -v -G &#8211;data-urlencode email=user@domain.abc http:\/\/[YOUR-INGRESS-HOSTNAME]\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  11. \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0633\u0639\u06cc \u06a9\u0646\u06cc\u0645 \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u0622\u0646 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645 httpin.org \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u062f \u06a9\u0647 \u0627\u06a9\u0646\u0648\u0646 \u062a\u0648\u0633\u0637 open-appsec \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>curl -s -v -G &#8211;data-urlencode email=user@domain.abc&#8217; OR &#8216;1&#8217;=&#8217;1 http:\/\/[YOUR-INGRESS-HOSTNAME]\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f [YOUR-INGRESS-HOSTNAME] \u062f\u0631 \u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627 \u0628\u0627 \u0646\u0627\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u06a9\u0647 \u062f\u0631 \u0645\u0646\u0628\u0639 \u0648\u0631\u0648\u062f\u06cc \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u0648 \u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0642\u0628\u0644\u06cc \u0628\u0627 open-appsec WAF \u0645\u062d\u0627\u0641\u0638\u062a \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f\u060c \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 &#8220;http&#8221; \u0631\u0627 \u0628\u0647 &#8220;https&#8221; \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u062a\u0628\u0631\u06cc\u06a9 \u0645\u06cc \u06af\u0648\u06cc\u0645! \u0634\u0645\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a APISIX \u0627\u062f\u063a\u0627\u0645 \u0634\u062f\u0647 \u0628\u0627 open-appsec WAF \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u06cc\u062f \u0648 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0631\u062f\u06cc\u062f \u06a9\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u0648\u0628 \u0634\u0645\u0627 \u06a9\u0647 \u062a\u0648\u0633\u0637 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u0646\u062f \u0627\u06a9\u0646\u0648\u0646 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<p>  \u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 WAF open-appsec \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u0645\u061f<\/p>\n<p>\u0627\u06af\u0631 \u062f\u0648\u0633\u062a \u062f\u0627\u0631\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0633\u062a\u0642\u0631\u0627\u0631 WAF open-appsec \u062e\u0648\u062f (\u0627\u062f\u063a\u0627\u0645 \u0634\u062f\u0647 \u0628\u0627 APISIX) \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Open-appsec Web UI (\u0633\u0631\u0648\u06cc\u0633 SaaS) \u0645\u0648\u062c\u0648\u062f \u062f\u0631 https:\/\/my.openappsec.io\u060c \u0628\u0627 \u0627\u062a\u0635\u0627\u0644 \u0639\u0627\u0645\u0644 open-appsec \u0628\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f. \u06cc\u06a9 \u0646\u0645\u0627\u06cc\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0645\u0631\u06a9\u0632\u06cc.<\/p>\n<p>\u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0648\u062f \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f\u060c \u0627\u0645\u0627 \u0647\u0645\u0686\u0646\u0627\u0646 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0647 WebUI \u0645\u0631\u06a9\u0632\u06cc \u062f\u0631 \u00ab\u062d\u0627\u0644\u062a \u0627\u0639\u0644\u0627\u0645\u06cc\u00bb \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u062d\u0644\u06cc (\u0641\u0642\u0637 \u062e\u0648\u0627\u0646\u062f\u0646\u06cc) \u0631\u0627 \u062f\u0631 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u06a9\u0646\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc open-appsec\u060c \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0628\u0647 \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u0633\u06cc\u0627\u0631 \u0628\u06cc\u0634\u062a\u0631\u06cc \u0645\u0627\u0646\u0646\u062f \u0648\u0636\u0639\u06cc\u062a \u0639\u0627\u0645\u0644 \u0647\u0627\u06cc open-appsec \u0645\u0633\u062a\u0642\u0631 \u0634\u062f\u0647\u060c \u06af\u0632\u0627\u0631\u0634 \u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc\u060c \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0646\u062d\u0648\u0647 \u0627\u062a\u0635\u0627\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0648\u062f \u0628\u0647 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0645\u0631\u06a9\u0632\u06cc\u060c \u0627\u0633\u0646\u0627\u062f open-appsec \u0645\u0648\u062c\u0648\u062f \u062f\u0631 https:\/\/docs.openappsec.io \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u0632\u06cc\u0631 \u062a\u0639\u062f\u0627\u062f\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u062a \u0627\u0632 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>  \u062e\u0644\u0627\u0635\u0647<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0648\u0628\u0644\u0627\u06af \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u06cc\u0645 \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 open-appsec \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0627 Apache APISIX \u062f\u0631 \u0647\u0645\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0634\u0648\u062f: \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0647\u0627\u06cc \u0645\u0639\u0645\u0648\u0644 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633\u060c \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0647\u0627\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc (Docker) \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc Kubernetes.<\/p>\n<p>\u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0645\u0631\u0627\u062d\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 APISIX \u0628\u0627 WAF open-appsec\u060c \u0645\u0627 \u062d\u0645\u0644\u0627\u062a \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0631\u062f\u06cc\u0645\u060c \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0648\u062b\u0631 \u062a\u0648\u0633\u0637 \u0641\u0646\u0627\u0648\u0631\u06cc WAF \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc open-appsec \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0634\u062f.<\/p>\n<p>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0634\u062f \u06a9\u0647 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 WebUI \u0645\u0631\u06a9\u0632\u06cc open-appsec \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a\u060c \u0646\u0638\u0627\u0631\u062a\u060c \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u06af\u0632\u0627\u0631\u0634 \u0648 \u06af\u0632\u0627\u0631\u0634 \u0686\u0647 \u0645\u0632\u0627\u06cc\u0627\u06cc\u06cc \u062f\u0627\u0631\u062f.<\/p>\n<p>\u0627\u0645\u06cc\u062f\u0648\u0627\u0631\u06cc\u0645 \u0627\u06cc\u0646 \u0627\u062f\u063a\u0627\u0645\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u0627\u0645\u0646\u06cc\u062a \u062f\u0631\u0648\u0627\u0632\u0647 API APISIX \u0648 API\u0647\u0627\u06cc \u0648\u0628 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648\u0628 \u062f\u0631 \u0645\u0639\u0631\u0636 \u0622\u0646 \u0628\u0627 WAF \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc open-appsec \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0628\u0627\u0634\u062f.<\/p>\n<p>\u0627\u06af\u0631 \u0628\u0627\u0632\u062e\u0648\u0631\u062f \u06cc\u0627 \u0633\u0624\u0627\u0644\u06cc \u062f\u0627\u0631\u06cc\u062f \u06cc\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0627 \u0686\u0627\u0644\u0634 \u0641\u0646\u06cc \u0631\u0648\u0628\u0631\u0648 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0622\u0646 \u06a9\u0645\u06a9 \u06a9\u0646\u06cc\u0645\u060c \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0634 \u0622\u0645\u062f \u0645\u06cc \u06af\u0648\u06cc\u06cc\u0645 \u06a9\u0647 \u0628\u0627 \u0645\u0627 \u062a\u0645\u0627\u0633 \u0628\u06af\u06cc\u0631\u06cc\u062f. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0686\u062a \u062f\u0631 https:\/\/www.openappsec.io \u06cc\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0627\u06cc\u0645\u06cc\u0644 \u0628\u0647: info@openappsec.io \u0628\u0627 \u062a\u06cc\u0645 open-appsec \u062a\u0645\u0627\u0633 \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n<p>  \u0645\u0646\u0627\u0628\u0639 \u0627\u0636\u0627\u0641\u06cc<\/p>\n<p>  WAF open-appsec<\/p>\n<p>\u0648\u0628 \u0633\u0627\u06cc\u062a: https:\/\/www.openappsec.io<\/p>\n<p>GitHub: https:\/\/github.com\/openappsec<\/p>\n<p>\u0627\u0633\u0646\u0627\u062f: https:\/\/docs.openappsec.io<\/p>\n<p>\u0632\u0645\u06cc\u0646 \u0647\u0627\u06cc \u0628\u0627\u0632\u06cc: https:\/\/www.openappsec.io\/playground<\/p>\n<p>\u0648\u0628\u0644\u0627\u06af \u0647\u0627: https:\/\/www.openappsec.io\/blogs<\/p>\n<p>  \u0622\u067e\u0627\u0686\u06cc APISIX<\/p>\n<p>\u0648\u0628 \u0633\u0627\u06cc\u062a: https:\/\/apisix.apache.org<\/p>\n<p>GitHub: https:\/\/github.com\/apache\/apisix<\/p>\n<p>\u0627\u0633\u0646\u0627\u062f: https:\/\/apisix.apache.org\/docs\/<\/p>\n<p>\u0648\u0628\u0644\u0627\u06af \u0647\u0627: https:\/\/apisix.apache.org\/blog\/<\/p>\n<div data-article-id=\"2052641\" id=\"article-body\">\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D9%85%D9%82%D8%AF%D9%85%D9%87\" >\u0645\u0642\u062f\u0645\u0647<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87_Apache_APISIX\" >\u062f\u0631\u0628\u0627\u0631\u0647 Apache APISIX<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87_open-appsec_WAF\" >\u062f\u0631\u0628\u0627\u0631\u0647 open-appsec WAF<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D8%A7%D8%AF%D8%BA%D8%A7%D9%85_Apache_APISIX_%D8%A8%D8%A7_open-appsec\" >\u0627\u062f\u063a\u0627\u0645 Apache APISIX \u0628\u0627 open-appsec<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3\" >\u0644\u06cc\u0646\u0648\u06a9\u0633<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D8%AF%D8%A7%DA%A9%D8%B1\" >\u062f\u0627\u06a9\u0631<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%DA%A9%D9%88%D8%A8%D8%B1%D9%86%D8%AA%DB%8C%D8%B3\" >\u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0633<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D8%A7%D9%81%D8%B2%D9%88%D8%AF%D9%86_open-appsec_WAF_%D8%A8%D9%87_APISIX_%D8%AF%D8%B1_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3\" >\u0627\u0641\u0632\u0648\u062f\u0646 open-appsec WAF \u0628\u0647 APISIX \u062f\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#1_%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2%D9%87%D8%A7\" >1. \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#2_Open-appsec_Installer_%D8%B1%D8%A7_%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >2. Open-appsec Installer \u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#3_open-appsec_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\" >3. open-appsec \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#4_%DA%A9%D9%84%DB%8C%D8%AF_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_APISIX_%D8%B1%D8%A7_%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%D9%88_%D8%B0%D8%AE%DB%8C%D8%B1%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >4. \u06a9\u0644\u06cc\u062f \u0645\u062f\u06cc\u0631\u06cc\u062a APISIX \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#5_Route_to_Expose_Services_%D8%B1%D8%A7_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >5. Route to Expose Services \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#6_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1_%D8%B3%D9%86%D8%AC%DB%8C\" >6. \u0627\u0639\u062a\u0628\u0627\u0631 \u0633\u0646\u062c\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#7_%DB%8C%DA%A9_%D8%AD%D9%85%D9%84%D9%87_%D8%AA%D8%B2%D8%B1%DB%8C%D9%82_SQL_%D8%B1%D8%A7_%D8%B4%D8%A8%DB%8C%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >7. \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#8_%D9%81%D8%A7%DB%8C%D9%84_%D9%87%D8%A7%DB%8C_%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4_%D8%B1%D8%A7_%D9%85%D8%B1%D9%88%D8%B1_%DA%A9%D9%86%DB%8C%D8%AF\" >8. \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u06af\u0632\u0627\u0631\u0634 \u0631\u0627 \u0645\u0631\u0648\u0631 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#9_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%D9%85%D8%B1%DA%A9%D8%B2%DB%8C_%D8%A8%D9%87_open-appsec_%D9%85%D8%AA%D8%B5%D9%84_%D8%B4%D9%88%DB%8C%D8%AF_%D8%A7%D8%AE%D8%AA%DB%8C%D8%A7%D8%B1%DB%8C\" >9. \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc \u0628\u0647 open-appsec \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u062f (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_APISIX_%D8%A8%D8%A7_WAF_open-appsec_%D8%AF%D8%B1_%D8%A8%D8%B3%D8%AA%D8%B1%D9%87%D8%A7%DB%8C_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1%DB%8C_Docker\" >\u0627\u0633\u062a\u0642\u0631\u0627\u0631 APISIX \u0628\u0627 WAF open-appsec \u062f\u0631 \u0628\u0633\u062a\u0631\u0647\u0627\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc (Docker)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#1_%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2\" >1. \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#2_%DB%8C%DA%A9_%D9%BE%D9%88%D8%B4%D9%87_%D8%A8%D8%B1%D8%A7%DB%8C_open-appsec_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >2. \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u0631\u0627\u06cc open-appsec \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#3_%D9%81%D8%A7%DB%8C%D9%84_open-appsec_%D8%B1%D8%A7_%D8%AF%D8%B1_%D9%BE%D9%88%D8%B4%D9%87_%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >3. \u0641\u0627\u06cc\u0644 open-appsec \u0631\u0627 \u062f\u0631 \u067e\u0648\u0634\u0647 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#4_%DB%8C%DA%A9_%D9%BE%D9%88%D8%B4%D9%87_%D8%A8%D8%B1%D8%A7%DB%8C_APISIX_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >4. \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u0631\u0627\u06cc APISIX \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#5_%D9%81%D8%A7%DB%8C%D9%84_APISIX_%D8%B1%D8%A7_%D8%AF%D8%B1_%D9%BE%D9%88%D8%B4%D9%87_%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >5. \u0641\u0627\u06cc\u0644 APISIX \u0631\u0627 \u062f\u0631 \u067e\u0648\u0634\u0647 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#6_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DB%8C%DA%A9_docer-composeyaml_%D9%81%D8%A7%DB%8C%D9%84\" >6. \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 docer-compose.yaml \u0641\u0627\u06cc\u0644<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#7_%D8%A2%D8%AF%D8%B1%D8%B3_%D8%A7%DB%8C%D9%85%DB%8C%D9%84_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%B1%D9%88%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF_%D8%A7%D8%AE%D8%AA%DB%8C%D8%A7%D8%B1%DB%8C\" >7. \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#8_All_Containers_%D8%B1%D8%A7_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >8. All Containers \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#9_%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >9. \u0648\u0636\u0639\u06cc\u062a \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#10_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D9%85%D8%B3%D8%AA%D9%82%D9%84_%D8%B1%D8%A7_%D8%AA%D8%A3%DB%8C%DB%8C%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >10. \u0627\u0639\u062a\u0628\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#11_%DB%8C%DA%A9_%D8%AD%D9%85%D9%84%D9%87_%D8%AA%D8%B2%D8%B1%DB%8C%D9%82_SQL_%D8%B1%D8%A7_%D8%B4%D8%A8%DB%8C%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >11. \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#12_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%D9%85%D8%B1%DA%A9%D8%B2%DB%8C_%D8%A8%D9%87_open-appsec_%D9%85%D8%AA%D8%B5%D9%84_%D8%B4%D9%88%DB%8C%D8%AF_%D8%A7%D8%AE%D8%AA%DB%8C%D8%A7%D8%B1%DB%8C\" >12. \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc \u0628\u0647 open-appsec \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u062f (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_APISIX_%D8%A8%D8%A7_WAF_open-appsec_%D8%AF%D8%B1_Kubernetes_%D8%A8%D8%A7_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_Helm\" >\u0627\u0633\u062a\u0642\u0631\u0627\u0631 APISIX \u0628\u0627 WAF open-appsec \u062f\u0631 Kubernetes \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Helm<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#1_%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2-2\" >1. \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#2_open-appsec_%D8%B1%D8%A7_%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >2. open-appsec \u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#3_Helm_Chart_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\" >3. Helm Chart \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#4_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1_%D8%B3%D9%86%D8%AC%DB%8C\" >4. \u0627\u0639\u062a\u0628\u0627\u0631 \u0633\u0646\u062c\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#5_%DB%8C%DA%A9_%D9%85%D9%86%D8%A8%D8%B9_%D8%B3%DB%8C%D8%A7%D8%B3%D8%AA_%D8%A8%D8%A7%D8%B2_appsec_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >5. \u06cc\u06a9 \u0645\u0646\u0628\u0639 \u0633\u06cc\u0627\u0633\u062a \u0628\u0627\u0632 appsec \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#6_%D9%86%D8%A7%D9%85_%D9%85%D9%86%D8%A8%D8%B9_%D9%87%D8%AF%D9%81_%D8%B1%D8%A7_%D9%88%D8%A7%DA%A9%D8%B4%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >6. \u0646\u0627\u0645 \u0645\u0646\u0628\u0639 \u0647\u062f\u0641 \u0631\u0627 \u0648\u0627\u06a9\u0634\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#7_%D9%85%D9%86%D8%A8%D8%B9_Ingress_%D8%B1%D8%A7_%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4_%DA%A9%D9%86%DB%8C%D8%AF\" >7. \u0645\u0646\u0628\u0639 Ingress \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-39\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#8_%D9%86%D8%A7%D9%85_ingressClass_%D8%B1%D8%A7_%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1_%D8%AF%D9%87%DB%8C%D8%AF\" >8. \u0646\u0627\u0645 ingressClass \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-40\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#9_Annotation_%D8%B1%D8%A7_%D8%A8%D9%87_%D9%85%D9%86%D8%A8%D8%B9_Ingress_%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >9. Annotation \u0631\u0627 \u0628\u0647 \u0645\u0646\u0628\u0639 Ingress \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-41\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#10_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D9%85%D8%B3%D8%AA%D9%82%D9%84_%D8%B1%D8%A7_%D8%AA%D8%A3%DB%8C%DB%8C%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF-2\" >10. \u0627\u0639\u062a\u0628\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-42\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#11_%DB%8C%DA%A9_%D8%AD%D9%85%D9%84%D9%87_%D8%AA%D8%B2%D8%B1%DB%8C%D9%82_SQL_%D8%B1%D8%A7_%D8%B4%D8%A8%DB%8C%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF-2\" >11. \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-43\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%DA%86%DA%AF%D9%88%D9%86%D9%87_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_WAF_open-appsec_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%B5%D9%88%D8%B1%D8%AA_%D9%85%D8%B1%DA%A9%D8%B2%DB%8C_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\" >\u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 WAF open-appsec \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u0645\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-44\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D8%AE%D9%84%D8%A7%D8%B5%D9%87\" >\u062e\u0644\u0627\u0635\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-45\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D9%85%D9%86%D8%A7%D8%A8%D8%B9_%D8%A7%D8%B6%D8%A7%D9%81%DB%8C\" >\u0645\u0646\u0627\u0628\u0639 \u0627\u0636\u0627\u0641\u06cc<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-46\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#WAF_open-appsec\" >WAF open-appsec<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-47\" href=\"https:\/\/nabfollower.com\/blog\/announcing-integration-between-apache-apisix-and-open-appsec-waf-2jf9\/#%D8%A2%D9%BE%D8%A7%DA%86%DB%8C_APISIX\" >\u0622\u067e\u0627\u0686\u06cc APISIX<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D9%82%D8%AF%D9%85%D9%87\"><\/span>\n<p>  \u0645\u0642\u062f\u0645\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>open-appsec WAF \u0647\u06cc\u062c\u0627\u0646 \u0632\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u06cc\u06a9 \u0627\u062f\u063a\u0627\u0645 \u062c\u062f\u06cc\u062f \u0628\u0627 \u062f\u0631\u0648\u0627\u0632\u0647 API \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 Apache APISIX \u0631\u0627 \u0627\u0639\u0644\u0627\u0645 \u06a9\u0646\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0647\u0645\u06a9\u0627\u0631\u06cc \u062c\u062f\u06cc\u062f \u0628\u06cc\u0646 \u062a\u06cc\u0645\u200c\u0647\u0627\u06cc open-appsec \u0648 API7 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u0627\u0632 API\u0647\u0627\u06cc \u0648\u0628 \u0648 \u0633\u0627\u06cc\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u0648\u0628 \u062e\u0648\u062f \u06a9\u0647 \u062a\u0648\u0633\u0637 Apache APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062d\u0645\u0644\u0627\u062a \u0646\u0627\u0634\u0646\u0627\u062e\u062a\u0647 \u0648 \u0634\u0646\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0647\u200c\u0627\u0646\u062f\u060c \u0628\u0647\u200c\u0637\u0648\u0631 \u0645\u0624\u062b\u0631 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0641\u0646\u0627\u0648\u0631\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc open-appsec \u0645\u062d\u0627\u0641\u0638\u062a \u06a9\u0646\u0646\u062f \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0686\u0646\u062f\u06cc\u0646 \u0645\u0648\u0631\u062f \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u062a\u0631<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87_Apache_APISIX\"><\/span>\n<p>  \u062f\u0631\u0628\u0627\u0631\u0647 Apache APISIX<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Apache APISIX \u06cc\u06a9 \u0631\u0627\u0647\u200c\u062d\u0644 \u062f\u0631\u0648\u0627\u0632\u0647 API \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0645\u062f\u0631\u0646\u060c \u0627\u0646\u0639\u0637\u0627\u0641\u200c\u067e\u0630\u06cc\u0631 \u0648 \u0628\u0627 \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0628\u0627\u0644\u0627 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u062e\u062a\u0644\u0641 \u062f\u0631 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0648 \u0645\u0639\u0645\u0627\u0631\u06cc\u200c\u0647\u0627\u06cc \u0628\u0648\u0645\u06cc \u0627\u0628\u0631\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. \u0647\u062f\u0641 \u0627\u0635\u0644\u06cc \u0622\u0646 \u062a\u0633\u0647\u06cc\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a API \u0628\u0627 \u062e\u062f\u0645\u062a \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062f\u0631\u0648\u0627\u0632\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a\u060c \u0627\u06cc\u0645\u0646 \u0633\u0627\u0632\u06cc \u0648 \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u062a\u0631\u0627\u0641\u06cc\u06a9 API \u0628\u06cc\u0646 \u0645\u0634\u062a\u0631\u06cc\u0627\u0646 \u0648 \u062e\u062f\u0645\u0627\u062a \u0628\u0627\u0637\u0646 \u0627\u0633\u062a.<\/p>\n<p>\u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u06cc\u0634\u062a\u0631 \u0628\u0631\u0627\u06cc APISIX \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u062f\u0631\u0648\u0627\u0632\u0647 API \u0634\u0627\u0645\u0644 \u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631\u060c \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u0646\u0631\u062e\u060c \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0648 \u0645\u062c\u0648\u0632 \u0627\u0633\u062a. \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u062c\u0627\u0645\u0639\u06cc \u0645\u0627\u0646\u0646\u062f \u06a9\u0646\u062a\u0631\u0644 \u062a\u0631\u0627\u0641\u06cc\u06a9\u060c \u0628\u0627\u0644\u0627\u062f\u0633\u062a\u06cc \u067e\u0648\u06cc\u0627 \u0648 \u062a\u0648\u0633\u0639\u0647\u200c\u067e\u0630\u06cc\u0631\u06cc \u067e\u0644\u0627\u06af\u06cc\u0646 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0631\u0627 \u0642\u0627\u062f\u0631 \u0645\u06cc\u200c\u0633\u0627\u0632\u062f \u062a\u0627 \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627 \u0631\u0627 \u0645\u0637\u0627\u0628\u0642 \u0628\u0627 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u062e\u0627\u0635 \u062e\u0648\u062f \u0633\u0641\u0627\u0631\u0634\u06cc\u200c\u0633\u0627\u0632\u06cc \u0648 \u06af\u0633\u062a\u0631\u0634 \u062f\u0647\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87_open-appsec_WAF\"><\/span>\n<p>  \u062f\u0631\u0628\u0627\u0631\u0647 open-appsec WAF<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>open-appsec WAF \u067e\u06cc\u0634\u06af\u06cc\u0631\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0648 \u067e\u06cc\u0634\u06af\u06cc\u0631\u0627\u0646\u0647 \u0627\u0632 \u062a\u0647\u062f\u06cc\u062f \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0627 \u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641 \u067e\u0631\u0627\u06a9\u0633\u06cc \u0647\u0627\u06cc \u0645\u0639\u06a9\u0648\u0633 \u0645\u0627\u0646\u0646\u062f NGINX \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631\u0648\u0627\u0632\u0647 \u0647\u0627\u06cc API \u0645\u0627\u0646\u0646\u062f APISIX \u0627\u062f\u063a\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f. \u0627\u06cc\u0646 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc \u0627\u0633\u062a\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0628\u0647 \u0647\u06cc\u0686 \u0648\u062c\u0647 \u0628\u0647 \u0627\u0645\u0636\u0627 (\u06cc\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc) \u0646\u06cc\u0627\u0632 \u0646\u062f\u0627\u0631\u062f. \u0627\u06cc\u0646 \u0628\u0647 \u0622\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u062d\u062a\u06cc \u0628\u0631\u0627\u06cc \u062d\u0645\u0644\u0627\u062a \u0631\u0648\u0632 \u0635\u0641\u0631 \u0648\u0627\u0642\u0639\u06cc\u060c \u067e\u06cc\u0634\u06af\u06cc\u0631\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0632 \u062a\u0647\u062f\u06cc\u062f\u0627\u062a \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u062f \u0648 \u062f\u0631 \u0639\u06cc\u0646 \u062d\u0627\u0644 \u062a\u0644\u0627\u0634\u200c\u0647\u0627\u06cc \u0627\u062f\u0627\u0631\u06cc \u0648 \u0645\u06cc\u0632\u0627\u0646 \u0645\u0648\u0627\u0631\u062f \u0645\u062b\u0628\u062a \u06a9\u0627\u0630\u0628 \u0631\u0627 \u0628\u0647 \u0645\u06cc\u0632\u0627\u0646 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u06a9\u0627\u0647\u0634 \u062f\u0647\u062f.<\/p>\n<p>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c open-appsec \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0644\u0627\u06cc\u0647\u200c\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0627\u0636\u0627\u0641\u06cc \u0645\u0627\u0646\u0646\u062f AntiBot\u060c \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u0646\u0631\u062e\u060c \u0627\u062c\u0631\u0627\u06cc \u0637\u0631\u062d\u0648\u0627\u0631\u0647\u060c \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0627\u0645\u0636\u0627\u06cc \u062e\u0631\u0648\u067e\u0641\u060c \u0642\u0648\u0627\u0646\u06cc\u0646 \u0633\u0641\u0627\u0631\u0634\u06cc\/\u0627\u0633\u062a\u062b\u0646\u0627\u0647\u0627 \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f. open-appsec \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628 \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 SaaS \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0644\u0627\u0645\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0631\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AF%D8%BA%D8%A7%D9%85_Apache_APISIX_%D8%A8%D8%A7_open-appsec\"><\/span>\n<p>  \u0627\u062f\u063a\u0627\u0645 Apache APISIX \u0628\u0627 open-appsec<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u0627\u062f\u063a\u0627\u0645 \u062c\u062f\u06cc\u062f\u060c \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 APISIX \u0627\u06a9\u0646\u0648\u0646 \u0628\u0647 WAF open-appsec \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0631\u0627\u0647 \u062d\u0644 WAF \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0648 \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0645\u062d\u0627\u0641\u0638\u062a \u0627\u0632 API \u0647\u0627\u06cc \u0648\u0628 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648\u0628 \u062e\u0648\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u0646\u062f \u062f\u0627\u0634\u062a.<\/p>\n<p>\u0622\u0646\u200c\u0647\u0627 \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0627\u0632 \u0646\u0633\u062e\u0647 \u0631\u0627\u06cc\u06af\u0627\u0646 \u0648 \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 Open-appsec \u0628\u0631\u0627\u06cc \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u0624\u062b\u0631 \u0648 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a \u0634\u0646\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0627\u0645\u0627 \u0646\u0627\u0634\u0646\u0627\u062e\u062a\u0647 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u062f\u0631\u0648\u0627\u0632\u0647 API APISIX \u062e\u0648\u062f \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f \u0648 \u062f\u0631 \u0639\u06cc\u0646 \u062d\u0627\u0644 \u0645\u06cc\u0632\u0627\u0646 \u0646\u0627\u062f\u0631\u0633\u062a \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u0646\u062f. \u0645\u0648\u0627\u0631\u062f \u0645\u062b\u0628\u062a \u0628\u0647 \u0637\u0648\u0631 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u0645\u062f\u06cc\u0631 \u0631\u0627 \u0627\u0632 \u0648\u0638\u0627\u06cc\u0641 \u062e\u0633\u062a\u0647 \u06a9\u0646\u0646\u062f\u0647 \u0627\u06cc \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u062c\u0627\u062f \u0627\u0633\u062a\u062b\u0646\u0627\u0621\u060c \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u062e\u0637 \u0645\u0634\u06cc \u0647\u0627\u06cc \u0633\u0646\u062a\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0627\u0645\u0636\u0627 \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0631\u0647\u0627 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0627\u062f\u063a\u0627\u0645 \u0628\u0631\u0627\u06cc \u0647\u0645\u0647 \u067e\u0644\u062a\u0641\u0631\u0645 \u0647\u0627\u06cc \u0631\u0627\u06cc\u062c \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f: \u0644\u06cc\u0646\u0648\u06a9\u0633\u060c \u062f\u0627\u06a9\u0631 \u0648 \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0633.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3\"><\/span>\n<p>  \u0644\u06cc\u0646\u0648\u06a9\u0633<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0647\u0627\u06cc &#8220;\u062c\u0627\u0633\u0627\u0632\u06cc \u0634\u062f\u0647&#8221; \u0644\u06cc\u0646\u0648\u06a9\u0633<\/strong> \u062f\u0631 APISIX\u060c \u06cc\u06a9 \u0646\u0635\u0628 \u06a9\u0646\u0646\u062f\u0647 open-appsec \u06cc\u06a9 \u0645\u0627\u0698\u0648\u0644 &#8220;open-appsec attachment&#8221; \u0631\u0627 \u0628\u0647 \u0646\u0635\u0628 APISIX \u0645\u0648\u062c\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 &#8220;open-appsec agent&#8221; \u0631\u0627 \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0622\u0646 \u0646\u0635\u0628 \u0645\u06cc \u06a9\u0646\u062f\u060c \u06a9\u0647 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u0627\u0632 \u067e\u06cc\u0648\u0633\u062a \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u062f\u060c \u0622\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f. \u0639\u0645\u0644 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0631\u0633\u06cc\u062f \u0628\u0631\u0627\u06cc \u0645\u0633\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u06cc\u0627 \u0627\u062c\u0627\u0632\u0647 \u062f\u0627\u062f\u0646 \u0628\u0647 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0628\u0647 APISIX \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u067e\u06cc\u0648\u0633\u062a open-appsec \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0634\u062f\u0647 \u0628\u0627 \u0622\u0646.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0634\u0645\u0627\u062a\u06cc\u06a9 \u0645\u0639\u0645\u0627\u0631\u06cc \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%A7%DA%A9%D8%B1\"><\/span>\n<p>  \u062f\u0627\u06a9\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0647\u0627\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 Docker<\/strong> \u0627\u0632 APISIX \u0628\u0627 open-appsec WAF\u060c \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 APISIX \u0648\u06cc\u0698\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a\u060c \u06a9\u0647 \u067e\u06cc\u0648\u0633\u062a open-appsec \u0642\u0628\u0644\u0627\u064b \u0628\u0647 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 docker-compose \u067e\u06cc\u0634\u0631\u0641\u062a\u0647\u060c \u06a9\u0647 \u0647\u0631 \u062f\u0648\u060c \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u06a9 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0628\u0627\u0632 \u0631\u0627 \u0628\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u062f. appsec Agent \u06a9\u0647 \u0628\u0627\u0632\u0631\u0633\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f \u0648 \u062a\u0635\u0645\u06cc\u0645\u0627\u062a \u0646\u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0647 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f \u062a\u0627 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u0645\u062c\u0627\u0632 \u06cc\u0627 \u0645\u0633\u062f\u0648\u062f \u06a9\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0634\u0645\u0627\u062a\u06cc\u06a9 \u0645\u0639\u0645\u0627\u0631\u06cc \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 Docker \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fstatic.apiseven.com%2Fuploads%2F2024%2F10%2F18%2FbxKsXOqW_docker-deployment.png\" alt=\"\u0645\u0639\u0645\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u062f\u0627\u06a9\u0631\" loading=\"lazy\" width=\"800\" height=\"400\" title=\"\"><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%DA%A9%D9%88%D8%A8%D8%B1%D9%86%D8%AA%DB%8C%D8%B3\"><\/span>\n<p>  \u06a9\u0648\u0628\u0631\u0646\u062a\u06cc\u0633<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0647\u0627\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 Kubernetes<\/strong> \u0627\u0632 APISIX \u06a9\u0647 \u0628\u0627 open-appsec \u0627\u062f\u063a\u0627\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u06cc\u06a9 \u0646\u0645\u0648\u062f\u0627\u0631 Helm \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0646\u0645\u0648\u062f\u0627\u0631 \u0631\u0633\u0645\u06cc APISIX Helm \u0627\u0633\u062a \u0648 \u0628\u06cc\u0634\u062a\u0631 \u0628\u0647\u0628\u0648\u062f \u06cc\u0627\u0641\u062a\u0647 \u0627\u0633\u062a \u062a\u0627 \u067e\u06cc\u0648\u0633\u062a open-appsec \u0631\u0627 \u062f\u0631 \u0638\u0631\u0641 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u0646\u06cc\u0632 \u0634\u0627\u0645\u0644 \u0634\u0648\u062f \u0648 \u0639\u0627\u0645\u0644 open-appsec \u0631\u0627 \u0646\u06cc\u0632 \u0645\u0633\u062a\u0642\u0631 \u0645\u06cc \u06a9\u0646\u062f. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0634\u0645\u0627 \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a \u06a9\u0647 open-appsec \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc &#8220;\u0633\u0628\u06a9 DevOps&#8221; \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u0646\u0627\u0628\u0639 \u0633\u0641\u0627\u0631\u0634\u06cc \u062f\u0631 K8s \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc open-appsec \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0634\u0645\u0627\u062a\u06cc\u06a9 \u0645\u0639\u0645\u0627\u0631\u06cc \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 Kubernetes \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fstatic.apiseven.com%2Fuploads%2F2024%2F10%2F18%2FSEZQ6E14_k8s-deployment.png\" alt=\"\u0645\u0639\u0645\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 Kubernetes\" loading=\"lazy\" width=\"800\" height=\"400\" title=\"\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D9%81%D8%B2%D9%88%D8%AF%D9%86_open-appsec_WAF_%D8%A8%D9%87_APISIX_%D8%AF%D8%B1_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3\"><\/span>\n<p>  \u0627\u0641\u0632\u0648\u062f\u0646 open-appsec WAF \u0628\u0647 APISIX \u062f\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 open-appsec \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0628\u0627 \u0646\u0635\u0628 APISIX\u060c \u0644\u0637\u0641\u0627\u064b \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"1_%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2%D9%87%D8%A7\"><\/span>\n<p>  1. \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\u067e\u0644\u062a\u0641\u0631\u0645 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0628\u0627\u06cc\u062f \u0627\u0648\u0628\u0648\u0646\u062a\u0648 22.04 \u0628\u0627\u0634\u062f.<\/li>\n<li>\u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 APISIX \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/li>\n<\/ul>\n<p>\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0644\u06cc\u0633\u062a \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc\u200c\u0634\u062f\u0647 APISIX \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f: https:\/\/downloads.openappsec.io\/packages\/supported-apisix.txt.<\/p>\n<p>\u0627\u06af\u0631 \u0647\u0646\u0648\u0632 APISIX \u0631\u0627 \u0646\u0635\u0628 \u0646\u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 APISIX \u062f\u0631 \u062d\u0627\u0644\u062a \u0633\u0646\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u062a\u060c \u0627\u0628\u062a\u062f\u0627 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 etcd \u0631\u0627 \u0628\u0631\u0627\u06cc APISIX \u0646\u0635\u0628 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0633\u067e\u0633 \u0645\u062e\u0627\u0632\u0646 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0646\u0635\u0628 \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc APISIX \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 etcd \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">ETCD_VERSION='<\/span><span class=\"mf\">3.5<\/span><span class=\"err\">.<\/span><span class=\"mi\">4<\/span><span class=\"err\">'<\/span><span class=\"w\">\n<\/span><span class=\"err\">wget<\/span><span class=\"w\"> <\/span><span class=\"err\">https:\/\/github.com\/etcd-io\/etcd\/releases\/download\/v$<\/span><span class=\"p\">{<\/span><span class=\"err\">ETCD_VERSION<\/span><span class=\"p\">}<\/span><span class=\"err\">\/etcd-v$<\/span><span class=\"p\">{<\/span><span class=\"err\">ETCD_VERSION<\/span><span class=\"p\">}<\/span><span class=\"err\">-linux-amd<\/span><span class=\"mi\">64<\/span><span class=\"err\">.tar.gz<\/span><span class=\"w\">\n<\/span><span class=\"err\">tar<\/span><span class=\"w\"> <\/span><span class=\"err\">-xvf<\/span><span class=\"w\"> <\/span><span class=\"err\">etcd-v$<\/span><span class=\"p\">{<\/span><span class=\"err\">ETCD_VERSION<\/span><span class=\"p\">}<\/span><span class=\"err\">-linux-amd<\/span><span class=\"mi\">64<\/span><span class=\"err\">.tar.gz<\/span><span class=\"w\"> <\/span><span class=\"err\">&amp;&amp;<\/span><span class=\"w\"> <\/span><span class=\"err\">cd<\/span><span class=\"w\"> <\/span><span class=\"err\">etcd-v$<\/span><span class=\"p\">{<\/span><span class=\"err\">ETCD_VERSION<\/span><span class=\"p\">}<\/span><span class=\"err\">-linux-amd<\/span><span class=\"mi\">64<\/span><span class=\"w\">\n<\/span><span class=\"err\">cp<\/span><span class=\"w\"> <\/span><span class=\"err\">-a<\/span><span class=\"w\"> <\/span><span class=\"err\">etcd<\/span><span class=\"w\"> <\/span><span class=\"err\">etcdctl<\/span><span class=\"w\"> <\/span><span class=\"err\">\/usr\/bin\/<\/span><span class=\"w\">\n<\/span><span class=\"err\">nohup<\/span><span class=\"w\"> <\/span><span class=\"err\">etcd<\/span><span class=\"w\"> <\/span><span class=\"err\">&gt;\/tmp\/etcd.log<\/span><span class=\"w\"> <\/span><span class=\"mi\">2<\/span><span class=\"err\">&gt;&amp;<\/span><span class=\"mi\">1<\/span><span class=\"w\"> <\/span><span class=\"err\">&amp;<\/span><span class=\"w\">\n<\/span><span class=\"err\">etcd<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u0627\u0641\u0632\u0648\u062f\u0646 \u0648 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0645\u062e\u0627\u0632\u0646 \u0628\u0633\u062a\u0647<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">apt<\/span><span class=\"w\"> <\/span><span class=\"err\">install<\/span><span class=\"w\"> <\/span><span class=\"err\">gnupg<\/span><span class=\"w\">\n<\/span><span class=\"err\">echo<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"deb http:\/\/openresty.org\/package\/debian bullseye openresty\"<\/span><span class=\"w\"> <\/span><span class=\"err\">|<\/span><span class=\"w\"> <\/span><span class=\"err\">tee<\/span><span class=\"w\"> <\/span><span class=\"err\">\/etc\/apt\/sources.list.d\/openresty.list<\/span><span class=\"w\">\n<\/span><span class=\"err\">wget<\/span><span class=\"w\"> <\/span><span class=\"err\">-O<\/span><span class=\"w\"> <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"err\">https:\/\/openresty.org\/package\/pubkey.gpg<\/span><span class=\"w\"> <\/span><span class=\"err\">|<\/span><span class=\"w\"> <\/span><span class=\"err\">apt-key<\/span><span class=\"w\"> <\/span><span class=\"err\">add<\/span><span class=\"w\"> <\/span><span class=\"err\">-<\/span><span class=\"w\">\n<\/span><span class=\"err\">wget<\/span><span class=\"w\"> <\/span><span class=\"err\">-O<\/span><span class=\"w\"> <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"err\">http:\/\/repos.apiseven.com\/pubkey.gpg<\/span><span class=\"w\"> <\/span><span class=\"err\">|<\/span><span class=\"w\"> <\/span><span class=\"err\">apt-key<\/span><span class=\"w\"> <\/span><span class=\"err\">add<\/span><span class=\"w\"> <\/span><span class=\"err\">-<\/span><span class=\"w\">\n<\/span><span class=\"err\">echo<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"deb http:\/\/repos.apiseven.com\/packages\/debian bullseye main\"<\/span><span class=\"w\"> <\/span><span class=\"err\">|<\/span><span class=\"w\"> <\/span><span class=\"err\">tee<\/span><span class=\"w\"> <\/span><span class=\"err\">\/etc\/apt\/sources.list.d\/apisix.list<\/span><span class=\"w\">\n<\/span><span class=\"err\">apt<\/span><span class=\"w\"> <\/span><span class=\"err\">update<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>APISIX \u0631\u0627 \u0646\u0635\u0628\u060c \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">apt<\/span><span class=\"w\"> <\/span><span class=\"err\">install<\/span><span class=\"w\"> <\/span><span class=\"err\">apisix=<\/span><span class=\"mf\">3.9<\/span><span class=\"err\">.<\/span><span class=\"mi\">1-0<\/span><span class=\"w\">\n<\/span><span class=\"err\">apisix<\/span><span class=\"w\"> <\/span><span class=\"err\">init<\/span><span class=\"w\">\n<\/span><span class=\"err\">apisix<\/span><span class=\"w\"> <\/span><span class=\"err\">start<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"2_Open-appsec_Installer_%D8%B1%D8%A7_%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  2. Open-appsec Installer \u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">wget<\/span><span class=\"w\"> <\/span><span class=\"err\">https:\/\/downloads.openappsec.io\/open-appsec-install<\/span><span class=\"w\"> <\/span><span class=\"err\">&amp;&amp;<\/span><span class=\"w\"> <\/span><span class=\"err\">chmod<\/span><span class=\"w\"> <\/span><span class=\"err\">+x<\/span><span class=\"w\"> <\/span><span class=\"err\">open-appsec-install<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"3_open-appsec_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  3. open-appsec \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0627\u062f\u063a\u0627\u0645 \u0628\u0627 \u0646\u0635\u0628 APISIX \u0645\u0648\u062c\u0648\u062f\u060c open-appsec \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<blockquote>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 <code>--prevent<\/code> flag open-appsec \u0631\u0627 \u0628\u0627 \u062e\u0637\u200c\u0645\u0634\u06cc \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u0632 \u0642\u0628\u0644 \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0646\u0635\u0628 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<\/blockquote>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>.\/open-appsec-install <span class=\"nt\">--auto<\/span> <span class=\"nt\">--prevent<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"4_%DA%A9%D9%84%DB%8C%D8%AF_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_APISIX_%D8%B1%D8%A7_%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%D9%88_%D8%B0%D8%AE%DB%8C%D8%B1%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  4. \u06a9\u0644\u06cc\u062f \u0645\u062f\u06cc\u0631\u06cc\u062a APISIX \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06a9\u0644\u06cc\u062f \u0645\u062f\u06cc\u0631\u06cc\u062a APISIX \u0631\u0627 \u0627\u0632 APISIX \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f <code>config.yaml<\/code> \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648 \u0630\u062e\u06cc\u0631\u0647 \u0622\u0646 \u062f\u0631 <code>APISIX_KEY<\/code> \u0645\u062a\u063a\u06cc\u0631 env<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nb\">export <\/span><span class=\"nv\">APISIX_KEY<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span><span class=\"nb\">awk<\/span> <span class=\"s1\">'\/key:\/{ if ($2 ~ \/^edd1\/) print $2 }'<\/span> \/usr\/local\/apisix\/conf\/config.yaml <span class=\"si\">)<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"5_Route_to_Expose_Services_%D8%B1%D8%A7_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  5. Route to Expose Services \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u0646\u0645\u0648\u0646\u0647 \u0631\u0627 \u062f\u0631 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u06cc\u06a9 \u0648\u0628 \u0633\u0631\u0648\u06cc\u0633 \u062e\u0627\u0631\u062c\u06cc \u06cc\u0627 \u0648\u0628 API \u0631\u0627 \u0646\u0634\u0627\u0646 \u062f\u0647\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0627\u0632 <code>httpbin.org<\/code> \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0646\u0645\u0648\u0646\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">curl<\/span><span class=\"w\"> <\/span><span class=\"err\">http:\/\/<\/span><span class=\"mf\">127.0<\/span><span class=\"err\">.<\/span><span class=\"mf\">0.1<\/span><span class=\"err\">:<\/span><span class=\"mi\">9180<\/span><span class=\"err\">\/apisix\/admin\/routes\/<\/span><span class=\"mi\">100<\/span><span class=\"w\"> <\/span><span class=\"err\">-H<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"X-API-KEY:$APISIX_KEY\"<\/span><span class=\"w\"> <\/span><span class=\"err\">-X<\/span><span class=\"w\"> <\/span><span class=\"err\">PUT<\/span><span class=\"w\"> <\/span><span class=\"err\">-d<\/span><span class=\"w\"> <\/span><span class=\"err\">'<\/span><span class=\"p\">{<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"methods\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">[<\/span><span class=\"w\">\n      <\/span><span class=\"s2\">\"GET\"<\/span><span class=\"w\">\n    <\/span><span class=\"p\">],<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"uri\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"\/anything\"<\/span><span class=\"p\">,<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"upstream\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n      <\/span><span class=\"nl\">\"type\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"roundrobin\"<\/span><span class=\"p\">,<\/span><span class=\"w\">\n      <\/span><span class=\"nl\">\"nodes\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n        <\/span><span class=\"nl\">\"httpbin.org:80\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"mi\">1<\/span><span class=\"w\">\n      <\/span><span class=\"p\">}<\/span><span class=\"w\">\n    <\/span><span class=\"p\">}<\/span><span class=\"w\">\n  <\/span><span class=\"p\">}<\/span><span class=\"err\">'<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"6_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1_%D8%B3%D9%86%D8%AC%DB%8C\"><\/span>\n<p>  6. \u0627\u0639\u062a\u0628\u0627\u0631 \u0633\u0646\u062c\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0627\u06cc\u0646 \u0645\u0633\u06cc\u0631 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0622\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">curl<\/span><span class=\"w\"> <\/span><span class=\"err\">-s<\/span><span class=\"w\"> <\/span><span class=\"err\">-v<\/span><span class=\"w\"> <\/span><span class=\"err\">-G<\/span><span class=\"w\"> <\/span><span class=\"err\">--data-urlencode<\/span><span class=\"w\"> <\/span><span class=\"err\">email=user@domain.abc<\/span><span class=\"w\"> <\/span><span class=\"err\">http:\/\/localhost:<\/span><span class=\"mi\">9080<\/span><span class=\"err\">\/anything<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"7_%DB%8C%DA%A9_%D8%AD%D9%85%D9%84%D9%87_%D8%AA%D8%B2%D8%B1%DB%8C%D9%82_SQL_%D8%B1%D8%A7_%D8%B4%D8%A8%DB%8C%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  7. \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0633\u0639\u06cc \u06a9\u0646\u06cc\u0645 \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645 (\u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u062f \u0628\u0647 <code>'OR '1'='1'<\/code> \u062f\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a HTTP \u0632\u06cc\u0631) \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 <code>httpbin.org<\/code> \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u062f \u06a9\u0647 \u0627\u06a9\u0646\u0648\u0646 \u062a\u0648\u0633\u0637 WAF open-appsec \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">curl<\/span><span class=\"w\"> <\/span><span class=\"err\">-s<\/span><span class=\"w\"> <\/span><span class=\"err\">-v<\/span><span class=\"w\"> <\/span><span class=\"err\">-G<\/span><span class=\"w\"> <\/span><span class=\"err\">--data-urlencode<\/span><span class=\"w\"> <\/span><span class=\"err\">email=user@domain.abc'<\/span><span class=\"w\"> <\/span><span class=\"err\">OR<\/span><span class=\"w\"> <\/span><span class=\"err\">'<\/span><span class=\"mi\">1<\/span><span class=\"err\">'='<\/span><span class=\"mi\">1<\/span><span class=\"w\"> <\/span><span class=\"err\">http:\/\/localhost:<\/span><span class=\"mi\">9080<\/span><span class=\"err\">\/anything<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u062d\u0645\u0644\u0647 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u0634\u062f\u0647 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u062a\u0648\u0633\u0637 \u0645\u0648\u062a\u0648\u0631 WAF \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc \u0645\u062a\u0646\u06cc open-appsec \u0645\u0633\u062f\u0648\u062f \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"8_%D9%81%D8%A7%DB%8C%D9%84_%D9%87%D8%A7%DB%8C_%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4_%D8%B1%D8%A7_%D9%85%D8%B1%D9%88%D8%B1_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  8. \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u06af\u0632\u0627\u0631\u0634 \u0631\u0627 \u0645\u0631\u0648\u0631 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u06af\u0632\u0627\u0631\u0634 \u0645\u0631\u0628\u0648\u0637\u0647 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u00ab\u062c\u0644\u0648\u06af\u06cc\u0631\u06cc\u00bb \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a HTTP \u0628\u0627 \u062d\u0645\u0644\u0647 \u0634\u0628\u06cc\u0647\u200c\u0633\u0627\u0632\u06cc\u200c\u0634\u062f\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0647\u0645\u200c\u0627\u06a9\u0646\u0648\u0646 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0631\u062f\u06cc\u0645\u060c \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nb\">tail<\/span> <span class=\"nt\">-f<\/span> \/var\/log\/nano_agent\/cp-nano-http-transaction-handler.log<span class=\"k\">*<\/span>| <span class=\"nb\">grep<\/span> <span class=\"nt\">-i<\/span> user@domain.abc\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0647 \u0637\u0648\u0631 \u0645\u062a\u0646\u0627\u0648\u0628 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 <code>open-appsec-ctl<\/code> \u0627\u0628\u0632\u0627\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>open-appsec-ctl <span class=\"nt\">--view-logs<\/span> | <span class=\"nb\">grep<\/span> <span class=\"nt\">-i<\/span> user@domain.abc\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"9_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%D9%85%D8%B1%DA%A9%D8%B2%DB%8C_%D8%A8%D9%87_open-appsec_%D9%85%D8%AA%D8%B5%D9%84_%D8%B4%D9%88%DB%8C%D8%AF_%D8%A7%D8%AE%D8%AA%DB%8C%D8%A7%D8%B1%DB%8C\"><\/span>\n<p>  9. \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc \u0628\u0647 open-appsec \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u062f (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06a9\u0646\u0648\u0646 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 https:\/\/my.openappsec.io \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc open-appsec \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0622\u0633\u0627\u0646 \u0648\u0628\u060c \u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647 \u0628\u062e\u0634 \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f. <strong>\u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 WAF open-appsec \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u0645\u061f<\/strong> \u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0645\u0637\u0644\u0628<\/p>\n<p><strong>\u062a\u0628\u0631\u06cc\u06a9 \u0645\u06cc \u06af\u0648\u06cc\u0645!<\/strong> \u0634\u0645\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a WAF open-appsec \u0631\u0627 \u0628\u0647 \u0646\u0635\u0628 APISIX \u0645\u0648\u062c\u0648\u062f \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u06cc\u062f \u0648 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0631\u062f\u06cc\u062f \u06a9\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u0648\u0628 \u0634\u0645\u0627 \u06a9\u0647 \u062a\u0648\u0633\u0637 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u0646\u062f \u0627\u06a9\u0646\u0648\u0646 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a \u0648\u0628 \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_APISIX_%D8%A8%D8%A7_WAF_open-appsec_%D8%AF%D8%B1_%D8%A8%D8%B3%D8%AA%D8%B1%D9%87%D8%A7%DB%8C_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1%DB%8C_Docker\"><\/span>\n<p>  \u0627\u0633\u062a\u0642\u0631\u0627\u0631 APISIX \u0628\u0627 WAF open-appsec \u062f\u0631 \u0628\u0633\u062a\u0631\u0647\u0627\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc (Docker)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 APISIX \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0628\u0627 open-appsec \u062f\u0631 Docker\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0631\u062e\u0644\u0627\u0641 \u0645\u062b\u0627\u0644 \u0628\u0627\u0644\u0627\u060c \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u0627 APISIX \u0631\u0627 \u062f\u0631 &#8220;\u062d\u0627\u0644\u062a \u0645\u0633\u062a\u0642\u0644&#8221; \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u0639\u0644\u0627\u0645\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u0627\u062a\u0635\u0627\u0644 \u062d\u062c\u0645 docker \u0628\u0627 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 yaml \u06a9\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc\u200c\u0647\u0627 \u0631\u0627 \u0646\u06af\u0647 \u0645\u06cc\u200c\u062f\u0627\u0631\u062f\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 etcd \u0646\u062f\u0627\u0631\u062f.<\/p>\n<blockquote>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 APISIX \u0627\u0632 \u0647\u0631 \u062f\u0648 \u062d\u0627\u0644\u062a \u0633\u0646\u062a\u06cc \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062d\u0627\u0644\u062a \u0645\u0633\u062a\u0642\u0644 \u062f\u0631 \u0647\u0645\u0647 \u0627\u0646\u0648\u0627\u0639 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 (\u0644\u06cc\u0646\u0648\u06a9\u0633\u060c \u062f\u0627\u06a9\u0631\u060c &#8230;) \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"1_%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2\"><\/span>\n<p>  1. \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/blockquote>\n<p>\u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u06cc\u06a9 \u067e\u0644\u062a\u0641\u0631\u0645 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0628\u0627 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc Docker \u0648 Docker-compose \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2_%DB%8C%DA%A9_%D9%BE%D9%88%D8%B4%D9%87_%D8%A8%D8%B1%D8%A7%DB%8C_open-appsec_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  2. \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u0631\u0627\u06cc open-appsec \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631 \u067e\u0648\u0634\u0647 \u0627\u06cc \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u060c \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>appsec-localconfig<\/code> \u06a9\u0647 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0644\u0627\u0645\u06cc appsec \u0631\u0627 \u0646\u06af\u0647 \u0645\u06cc \u062f\u0627\u0631\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">mkdir<\/span><span class=\"w\"> <\/span><span class=\"err\">.\/appsec-localconfig<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"3_%D9%81%D8%A7%DB%8C%D9%84_open-appsec_%D8%B1%D8%A7_%D8%AF%D8%B1_%D9%BE%D9%88%D8%B4%D9%87_%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  3. \u0641\u0627\u06cc\u0644 open-appsec \u0631\u0627 \u062f\u0631 \u067e\u0648\u0634\u0647 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0644\u0627\u0645\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0628\u0631\u0627\u06cc open-appsec \u0631\u0627 \u062f\u0631 \u0622\u0646 \u067e\u0648\u0634\u0647 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">wget<\/span><span class=\"w\"> <\/span><span class=\"err\">https:\/\/raw.githubusercontent.com\/openappsec\/openappsec\/main\/config\/linux\/latest\/prevent\/local_policy.yaml<\/span><span class=\"w\"> <\/span><span class=\"err\">-O<\/span><span class=\"w\"> <\/span><span class=\"err\">appsec-localconfig\/local_policy.yaml<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<blockquote>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u0646\u0645\u0648\u0646\u0647 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0644\u0627\u0645\u06cc \u0627\u0632 \u0642\u0628\u0644 \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062d\u0645\u0644\u0627\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"4_%DB%8C%DA%A9_%D9%BE%D9%88%D8%B4%D9%87_%D8%A8%D8%B1%D8%A7%DB%8C_APISIX_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  4. \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u0631\u0627\u06cc APISIX \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/blockquote>\n<p>\u06cc\u06a9 \u067e\u0648\u0634\u0647 \u062f\u06cc\u06af\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>apisix-localconfig<\/code> \u06a9\u0647 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0644\u0627\u0645\u06cc APISIX \u0631\u0627 \u0646\u06af\u0647 \u0645\u06cc \u062f\u0627\u0631\u062f: <code>mkdir .\/apisix-localconfig<\/code>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"5_%D9%81%D8%A7%DB%8C%D9%84_APISIX_%D8%B1%D8%A7_%D8%AF%D8%B1_%D9%BE%D9%88%D8%B4%D9%87_%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  5. \u0641\u0627\u06cc\u0644 APISIX \u0631\u0627 \u062f\u0631 \u067e\u0648\u0634\u0647 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0627\u062f\u0647 \u0631\u0627 \u0646\u06cc\u0632 \u0628\u0631\u0627\u06cc APISIX \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u062d\u0641\u0627\u0638\u062a Open-appsec \u0631\u0627 \u067e\u0633 \u0627\u0632 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">wget<\/span><span class=\"w\"> <\/span><span class=\"err\">https:\/\/raw.githubusercontent.com\/openappsec\/openappsec\/main\/deployment\/apisix\/apisix-example-config\/apisix-standalone.yaml<\/span><span class=\"w\"> <\/span><span class=\"err\">-O<\/span><span class=\"w\"> <\/span><span class=\"err\">.\/apisix-localconfig\/apisix-standalone.yaml<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"6_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DB%8C%DA%A9_docer-composeyaml_%D9%81%D8%A7%DB%8C%D9%84\"><\/span>\n<p>  6. \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 <code>docer-compose.yaml<\/code> \u0641\u0627\u06cc\u0644<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 <code>docker-compose.yaml<\/code> \u0641\u0627\u06cc\u0644 \u0628\u0627 \u0645\u062d\u062a\u0648\u0627\u06cc \u0632\u06cc\u0631 \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0642\u0627\u0628\u0644 \u062f\u0627\u0646\u0644\u0648\u062f \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">wget<\/span><span class=\"w\"> <\/span><span class=\"err\">https:\/\/raw.githubusercontent.com\/openappsec\/openappsec\/main\/deployment\/apisix\/docker-compose.yaml<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">version:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"3\"<\/span><span class=\"w\">\n\n<\/span><span class=\"err\">services:<\/span><span class=\"w\">\n  <\/span><span class=\"err\">apisix:<\/span><span class=\"w\">\n    <\/span><span class=\"err\">container_name:<\/span><span class=\"w\"> <\/span><span class=\"err\">apisix<\/span><span class=\"w\">\n    <\/span><span class=\"err\">image:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"ghcr.io\/openappsec\/apisix-attachment:latest\"<\/span><span class=\"w\">\n    <\/span><span class=\"err\">ipc:<\/span><span class=\"w\"> <\/span><span class=\"err\">service:appsec-agent<\/span><span class=\"w\">\n    <\/span><span class=\"err\">restart:<\/span><span class=\"w\"> <\/span><span class=\"err\">always<\/span><span class=\"w\">\n    <\/span><span class=\"err\">volumes:<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"err\">.\/apisix-localconfig\/apisix-standalone.yaml:\/usr\/local\/apisix\/conf\/apisix.yaml:ro<\/span><span class=\"w\">\n    <\/span><span class=\"err\">environment:<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"err\">APISIX_STAND_ALONE=<\/span><span class=\"kc\">true<\/span><span class=\"w\">\n    <\/span><span class=\"err\">ports:<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"9180:9180\/tcp\"<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"9080:9080\/tcp\"<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"9091:9091\/tcp\"<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"9443:9443\/tcp\"<\/span><span class=\"w\">\n\n  <\/span><span class=\"err\">appsec-agent:<\/span><span class=\"w\">\n    <\/span><span class=\"err\">container_name:<\/span><span class=\"w\"> <\/span><span class=\"err\">appsec-agent<\/span><span class=\"w\">\n    <\/span><span class=\"err\">image:<\/span><span class=\"w\"> <\/span><span class=\"err\">'ghcr.io\/openappsec\/agent:latest'<\/span><span class=\"w\">\n    <\/span><span class=\"err\">ipc:<\/span><span class=\"w\"> <\/span><span class=\"err\">shareable<\/span><span class=\"w\">\n    <\/span><span class=\"err\">restart:<\/span><span class=\"w\"> <\/span><span class=\"err\">unless-stopped<\/span><span class=\"w\">\n    <\/span><span class=\"err\">environment:<\/span><span class=\"w\">\n      <\/span><span class=\"err\">#<\/span><span class=\"w\"> <\/span><span class=\"err\">adjust<\/span><span class=\"w\"> <\/span><span class=\"err\">with<\/span><span class=\"w\"> <\/span><span class=\"err\">your<\/span><span class=\"w\"> <\/span><span class=\"err\">own<\/span><span class=\"w\"> <\/span><span class=\"err\">email<\/span><span class=\"w\"> <\/span><span class=\"err\">below<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"err\">user_email=user@email.com<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"err\">registered_server=<\/span><span class=\"s2\">\"APISIX Server\"<\/span><span class=\"w\">\n    <\/span><span class=\"err\">volumes:<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"err\">.\/appsec-config:\/etc\/cp\/conf<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"err\">.\/appsec-data:\/etc\/cp\/data<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"err\">.\/appsec-logs:\/var\/log\/nano_agent<\/span><span class=\"w\">\n      <\/span><span class=\"err\">-<\/span><span class=\"w\"> <\/span><span class=\"err\">.\/appsec-localconfig:\/ext\/appsec<\/span><span class=\"w\">\n    <\/span><span class=\"err\">command:<\/span><span class=\"w\"> <\/span><span class=\"err\">\/cp-nano-agent<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"7_%D8%A2%D8%AF%D8%B1%D8%B3_%D8%A7%DB%8C%D9%85%DB%8C%D9%84_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%B1%D9%88%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF_%D8%A7%D8%AE%D8%AA%DB%8C%D8%A7%D8%B1%DB%8C\"><\/span>\n<p>  7. \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f <code>docker-compose.yaml<\/code> \u0641\u0627\u06cc\u0644 \u0648 \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 &#8220;user@email.com&#8221; \u06a9\u0646\u06cc\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u062f\u0631 \u0635\u0648\u0631\u062a \u0628\u0631\u0648\u0632 \u0647\u0631 \u06af\u0648\u0646\u0647 \u0645\u0634\u06a9\u0644\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0627\u0635 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u06a9\u0645\u06a9 \u06a9\u0646\u06cc\u0645 \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0641\u0639\u0627\u0644 \u062f\u0631 \u0645\u0648\u0631\u062f open-appsec \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u0645.<\/p>\n<p>\u0627\u06cc\u0646 \u06cc\u06a9 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0627\u0633\u062a \u0648 \u0642\u0627\u0628\u0644 \u062d\u0630\u0641 \u0627\u0633\u062a. \u0627\u06af\u0631 \u0627\u06cc\u0645\u06cc\u0644\u200c\u0647\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u0645\u060c \u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0627\u0646\u0635\u0631\u0627\u0641 \u0646\u06cc\u0632 \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0631\u062a\u0628\u0627\u0637\u0627\u062a \u0645\u0634\u0627\u0628\u0647 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0648\u062c\u0648\u062f \u062e\u0648\u0627\u0647\u062f \u062f\u0627\u0634\u062a.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"8_All_Containers_%D8%B1%D8%A7_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  8. All Containers \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u062c\u0631\u0627\u06cc docker-compose up \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0647\u0645\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>docker-compose up <span class=\"nt\">-d<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"9_%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  9. \u0648\u0636\u0639\u06cc\u062a \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u06cc\u0627 <code>apisix-attachment<\/code> \u0648 <code>appsec-agent<\/code> \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627 \u0622\u0645\u0627\u062f\u0647 \u0648 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>docker ps\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"10_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D9%85%D8%B3%D8%AA%D9%82%D9%84_%D8%B1%D8%A7_%D8%AA%D8%A3%DB%8C%DB%8C%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  10. \u0627\u0639\u062a\u0628\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u06cc\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u062a\u0642\u0644 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0622\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">curl<\/span><span class=\"w\"> <\/span><span class=\"err\">-s<\/span><span class=\"w\"> <\/span><span class=\"err\">-v<\/span><span class=\"w\"> <\/span><span class=\"err\">-G<\/span><span class=\"w\"> <\/span><span class=\"err\">--data-urlencode<\/span><span class=\"w\"> <\/span><span class=\"err\">email=user@domain.abc<\/span><span class=\"w\"> <\/span><span class=\"err\">http:\/\/localhost:<\/span><span class=\"mi\">9080<\/span><span class=\"err\">\/anything<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"11_%DB%8C%DA%A9_%D8%AD%D9%85%D9%84%D9%87_%D8%AA%D8%B2%D8%B1%DB%8C%D9%82_SQL_%D8%B1%D8%A7_%D8%B4%D8%A8%DB%8C%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  11. \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0633\u0639\u06cc \u06a9\u0646\u06cc\u0645 \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0639\u0644\u06cc\u0647 \u0633\u0631\u0648\u06cc\u0633 httpin.org \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0627\u06a9\u0646\u0648\u0646 \u062a\u0648\u0633\u0637 open-appsec \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">curl<\/span><span class=\"w\"> <\/span><span class=\"err\">-s<\/span><span class=\"w\"> <\/span><span class=\"err\">-v<\/span><span class=\"w\"> <\/span><span class=\"err\">-G<\/span><span class=\"w\"> <\/span><span class=\"err\">--data-urlencode<\/span><span class=\"w\"> <\/span><span class=\"err\">email=user@domain.abc'<\/span><span class=\"w\"> <\/span><span class=\"err\">OR<\/span><span class=\"w\"> <\/span><span class=\"err\">'<\/span><span class=\"mi\">1<\/span><span class=\"err\">'='<\/span><span class=\"mi\">1<\/span><span class=\"w\"> <\/span><span class=\"err\">http:\/\/localhost:<\/span><span class=\"mi\">9080<\/span><span class=\"err\">\/anything<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"12_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%D9%85%D8%B1%DA%A9%D8%B2%DB%8C_%D8%A8%D9%87_open-appsec_%D9%85%D8%AA%D8%B5%D9%84_%D8%B4%D9%88%DB%8C%D8%AF_%D8%A7%D8%AE%D8%AA%DB%8C%D8%A7%D8%B1%DB%8C\"><\/span>\n<p>  12. \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc \u0628\u0647 open-appsec \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u062f (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06a9\u0646\u0648\u0646 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0622\u0646 \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f <code>https:\/\/my.openappsec.io<\/code> \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0631\u06a9\u0632\u06cc open-appsec \u0628\u0627 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0622\u0633\u0627\u0646 \u0648\u0628\u060c \u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631\u060c \u0628\u0647 \u0628\u062e\u0634 \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f <strong>\u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 WAF open-appsec \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u0645\u061f<\/strong> \u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0645\u0637\u0644\u0628<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_APISIX_%D8%A8%D8%A7_WAF_open-appsec_%D8%AF%D8%B1_Kubernetes_%D8%A8%D8%A7_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_Helm\"><\/span>\n<p>  \u0627\u0633\u062a\u0642\u0631\u0627\u0631 APISIX \u0628\u0627 WAF open-appsec \u062f\u0631 Kubernetes \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Helm<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"1_%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2-2\"><\/span>\n<p>  1. \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u067e\u0644\u062a\u0641\u0631\u0645 Kubernetes \u0648 \u0627\u0628\u0632\u0627\u0631 Helm \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0647\u0633\u062a\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2_open-appsec_%D8%B1%D8%A7_%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  2. open-appsec \u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Open-appsec \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u062f\u0627\u0631 APISIX Helm \u0627\u0632 \u0627\u06cc\u0646\u062c\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">wget<\/span><span class=\"w\"> <\/span><span class=\"err\">https:\/\/downloads.openappsec.io\/packages\/helm-charts\/apisix\/open-appsec-k<\/span><span class=\"mi\">8<\/span><span class=\"err\">s-apisix-latest.tgz<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"3_Helm_Chart_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  3. Helm Chart \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 <code>helm install<\/code> \u062f\u0633\u062a\u0648\u0631 \u062f\u0631 \u062d\u0627\u0644 \u0646\u0635\u0628 open-appsec \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u062f\u0627\u0631 APISIX Helm \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0646\u0633\u062e\u0647 \u062a\u0648\u0633\u0639\u0647 \u06cc\u0627\u0641\u062a\u0647 \u0646\u0645\u0648\u062f\u0627\u0631 \u0631\u0633\u0645\u06cc APISIX Helm \u0627\u0633\u062a.<\/p>\n<p>\u0627\u06cc\u0646 \u062f\u0631\u06af\u0627\u0647 APISIX \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0648\u0631\u0648\u062f\u06cc APISIX \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 WAF open-appsec \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0634\u062f\u0647 \u0628\u0627 \u0622\u0646 \u0631\u0627 \u0645\u0633\u062a\u0642\u0631 \u0645\u06cc \u06a9\u0646\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0636\u0627\u0641\u06cc \u0628\u0647 \u0637\u0648\u0631 \u062e\u0627\u0635 \u0628\u0631\u0627\u06cc WAF open-appsec \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f (\u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u062f \u0628\u0647 <code>values.yaml<\/code> \u062f\u0627\u062e\u0644 \u0646\u0645\u0648\u062f\u0627\u0631 Helm \u0648 \u0627\u0633\u0646\u0627\u062f open-appsec).<\/p>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0646\u0627\u0628\u0639 \u0648\u0631\u0648\u062f\u06cc K8 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0644\u0627\u0633 \u0648\u0631\u0648\u062f\u06cc \u0632\u06cc\u0631 \u0628\u0647 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0647\u06cc\u062f: <code>appsec-apisix<\/code>.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>helm <span class=\"nb\">install <\/span>open-appsec-k8s-apisix-latest.tgz <span class=\"se\">\\<\/span>\n<span class=\"nt\">--name-template<\/span><span class=\"o\">=<\/span>appsec-apisix <span class=\"se\">\\<\/span>\n<span class=\"nt\">--set<\/span> rbac.create<span class=\"o\">=<\/span><span class=\"nb\">true<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--set<\/span> appsec.mode<span class=\"o\">=<\/span>standalone <span class=\"se\">\\<\/span>\n<span class=\"nt\">--set<\/span> service.type<span class=\"o\">=<\/span>LoadBalancer <span class=\"se\">\\<\/span>\n<span class=\"nt\">--set<\/span> appsec.persistence.enabled<span class=\"o\">=<\/span><span class=\"nb\">false<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--set<\/span> ingress-controller.enabled<span class=\"o\">=<\/span><span class=\"nb\">true<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--set<\/span> ingress-controller.config.ingressClass<span class=\"o\">=<\/span>appsec-apisix <span class=\"se\">\\<\/span>\n<span class=\"nt\">--set<\/span> appsec.userEmail<span class=\"o\">=<\/span>\u201d<your-email-address>\u201d <span class=\"se\">\\<\/span>\n<span class=\"nt\">--set<\/span> appsec.agentToken<span class=\"o\">=<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--create-namespace<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">-n<\/span> appsec-apisix\n<\/your-email-address><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<blockquote>\n<p>\u062f\u0631 \u062f\u0633\u062a\u0648\u0631 \u0646\u0635\u0628 Helm \u062f\u0631 \u0628\u0627\u0644\u0627 \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u062e\u0628\u0627\u0631 \u0648 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 open-appsec \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u0645 \u0648 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0628\u0647\u062a\u0631 \u0627\u0632 \u0634\u0645\u0627 \u062f\u0631 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0634\u0645\u0627 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u06a9\u0646\u06cc\u0645! \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0647\u0631 \u0632\u0645\u0627\u0646 \u06cc\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u062a\u0646\u0627\u0648\u0628 \u0627\u0634\u062a\u0631\u0627\u06a9 \u062e\u0648\u062f \u0631\u0627 \u0644\u063a\u0648 \u06a9\u0646\u06cc\u062f\u060c \u0641\u0642\u0637 \u0627\u06af\u0631 \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc \u062f\u0647\u06cc\u062f \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0646\u06a9\u0646\u06cc\u062f\u060c \u0622\u0646 \u062e\u0637 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"4_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1_%D8%B3%D9%86%D8%AC%DB%8C\"><\/span>\n<p>  4. \u0627\u0639\u062a\u0628\u0627\u0631 \u0633\u0646\u062c\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/blockquote>\n<p>\u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u063a\u0644\u0627\u0641 \u0647\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0645\u0633\u062a\u0642\u0631 \u0634\u062f\u0647 \u0627\u0646\u062f \u0648 \u062f\u0631 \u062d\u0627\u0644\u062a \u0622\u0645\u0627\u062f\u0647 \u0647\u0633\u062a\u0646\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>kubectl get pods <span class=\"nt\">-n<\/span> appsec-apisix\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"5_%DB%8C%DA%A9_%D9%85%D9%86%D8%A8%D8%B9_%D8%B3%DB%8C%D8%A7%D8%B3%D8%AA_%D8%A8%D8%A7%D8%B2_appsec_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  5. \u06cc\u06a9 \u0645\u0646\u0628\u0639 \u0633\u06cc\u0627\u0633\u062a \u0628\u0627\u0632 appsec \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f &#8220;open-appsec-best-practice-policy&#8221; \u062f\u0631 K8s \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<blockquote>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u0633\u06cc\u0627\u0633\u062a \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u0642\u0628\u0644 \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062d\u0645\u0644\u0627\u062a \u0627\u0632 \u067e\u06cc\u0634 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<\/blockquote>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">kubectl<\/span><span class=\"w\"> <\/span><span class=\"err\">apply<\/span><span class=\"w\"> <\/span><span class=\"err\">-f<\/span><span class=\"w\"> <\/span><span class=\"err\">https:\/\/raw.githubusercontent.com\/openappsec\/openappsec\/main\/config\/k<\/span><span class=\"mi\">8<\/span><span class=\"err\">s\/v<\/span><span class=\"mi\">1<\/span><span class=\"err\">beta<\/span><span class=\"mi\">1<\/span><span class=\"err\">\/open-appsec-k<\/span><span class=\"mi\">8<\/span><span class=\"err\">s-prevent-config-v<\/span><span class=\"mi\">1<\/span><span class=\"err\">beta<\/span><span class=\"mi\">1<\/span><span class=\"err\">.yaml<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062e\u0637 \u0645\u0634\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u062a\u0645\u0627\u0645 \u062c\u0632\u0626\u06cc\u0627\u062a \u0631\u0627 \u067e\u06cc\u062f\u0627 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"6_%D9%86%D8%A7%D9%85_%D9%85%D9%86%D8%A8%D8%B9_%D9%87%D8%AF%D9%81_%D8%B1%D8%A7_%D9%88%D8%A7%DA%A9%D8%B4%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  6. \u0646\u0627\u0645 \u0645\u0646\u0628\u0639 \u0647\u062f\u0641 \u0631\u0627 \u0648\u0627\u06a9\u0634\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0646\u0627\u0645 \u0645\u0646\u0628\u0639 \u0648\u0631\u0648\u062f\u06cc \u0645\u0631\u0628\u0648\u0637\u0647 \u0631\u0627 \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u062d\u0627\u0641\u0638\u062a \u06a9\u0646\u06cc\u062f \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>kubectl get ing <span class=\"nt\">-A<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"7_%D9%85%D9%86%D8%A8%D8%B9_Ingress_%D8%B1%D8%A7_%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  7. \u0645\u0646\u0628\u0639 Ingress \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>kubectl edit ing\/<ingress name=\"\"> <span class=\"nt\">-n<\/span> <ingress namespace=\"\">\n<\/ingress><\/ingress><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"8_%D9%86%D8%A7%D9%85_ingressClass_%D8%B1%D8%A7_%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1_%D8%AF%D9%87%DB%8C%D8%AF\"><\/span>\n<p>  8. \u0646\u0627\u0645 ingressClass \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0646\u0627\u0645 ingressClass \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 open-appsec \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>spec: ingressClassName: appsec-apisix\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"9_Annotation_%D8%B1%D8%A7_%D8%A8%D9%87_%D9%85%D9%86%D8%A8%D8%B9_Ingress_%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  9. Annotation \u0631\u0627 \u0628\u0647 \u0645\u0646\u0628\u0639 Ingress \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06cc\u0646 \u062d\u0627\u0634\u06cc\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0631\u0627 \u0628\u0647 \u0645\u0646\u0628\u0639 \u0648\u0631\u0648\u062f\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u0645\u0646\u0628\u0639 \u0633\u0641\u0627\u0631\u0634\u06cc \u0633\u06cc\u0627\u0633\u062a open-appsec \u0645\u0648\u0631\u062f \u0646\u0638\u0631\u060c open-appsec \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0648\u0631\u0648\u062f\u06cc \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>openappsec.io\/policy: open-appsec-best-practice-policy\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"10_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D9%85%D8%B3%D8%AA%D9%82%D9%84_%D8%B1%D8%A7_%D8%AA%D8%A3%DB%8C%DB%8C%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF-2\"><\/span>\n<p>  10. \u0627\u0639\u062a\u0628\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u062a\u0642\u0644 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u06cc\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0633\u062a\u0642\u0644 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0622\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">curl<\/span><span class=\"w\"> <\/span><span class=\"err\">-s<\/span><span class=\"w\"> <\/span><span class=\"err\">-v<\/span><span class=\"w\"> <\/span><span class=\"err\">-G<\/span><span class=\"w\"> <\/span><span class=\"err\">--data-urlencode<\/span><span class=\"w\"> <\/span><span class=\"err\">email=user@domain.abc<\/span><span class=\"w\"> <\/span><span class=\"err\">http:\/\/<\/span><span class=\"p\">[<\/span><span class=\"err\">YOUR-INGRESS-HOSTNAME<\/span><span class=\"p\">]<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"11_%DB%8C%DA%A9_%D8%AD%D9%85%D9%84%D9%87_%D8%AA%D8%B2%D8%B1%DB%8C%D9%82_SQL_%D8%B1%D8%A7_%D8%B4%D8%A8%DB%8C%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF-2\"><\/span>\n<p>  11. \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0633\u0639\u06cc \u06a9\u0646\u06cc\u0645 \u06cc\u06a9 \u062d\u0645\u0644\u0647 \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u0622\u0646 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645 <code>httpin.org<\/code> \u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u062f \u06a9\u0647 \u0627\u06a9\u0646\u0648\u0646 \u062a\u0648\u0633\u0637 open-appsec \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"err\">curl<\/span><span class=\"w\"> <\/span><span class=\"err\">-s<\/span><span class=\"w\"> <\/span><span class=\"err\">-v<\/span><span class=\"w\"> <\/span><span class=\"err\">-G<\/span><span class=\"w\"> <\/span><span class=\"err\">--data-urlencode<\/span><span class=\"w\"> <\/span><span class=\"err\">email=user@domain.abc'<\/span><span class=\"w\"> <\/span><span class=\"err\">OR<\/span><span class=\"w\"> <\/span><span class=\"err\">'<\/span><span class=\"mi\">1<\/span><span class=\"err\">'='<\/span><span class=\"mi\">1<\/span><span class=\"w\"> <\/span><span class=\"err\">http:\/\/<\/span><span class=\"p\">[<\/span><span class=\"err\">YOUR-INGRESS-HOSTNAME<\/span><span class=\"p\">]<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f [YOUR-INGRESS-HOSTNAME] \u062f\u0631 \u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627 \u0628\u0627 \u0646\u0627\u0645 \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u06a9\u0647 \u062f\u0631 \u0645\u0646\u0628\u0639 \u0648\u0631\u0648\u062f\u06cc \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u0648 \u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0642\u0628\u0644\u06cc \u0628\u0627 open-appsec WAF \u0645\u062d\u0627\u0641\u0638\u062a \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f\u060c \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 &#8220;http&#8221; \u0631\u0627 \u0628\u0647 &#8220;https&#8221; \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p><strong>\u062a\u0628\u0631\u06cc\u06a9 \u0645\u06cc \u06af\u0648\u06cc\u0645!<\/strong> \u0634\u0645\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a APISIX \u0627\u062f\u063a\u0627\u0645 \u0634\u062f\u0647 \u0628\u0627 open-appsec WAF \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u06cc\u062f \u0648 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0631\u062f\u06cc\u062f \u06a9\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u0648\u0628 \u0634\u0645\u0627 \u06a9\u0647 \u062a\u0648\u0633\u0637 \u062f\u0631\u0648\u0627\u0632\u0647 APISIX \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u0646\u062f \u0627\u06a9\u0646\u0648\u0646 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%DA%86%DA%AF%D9%88%D9%86%D9%87_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_WAF_open-appsec_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%B5%D9%88%D8%B1%D8%AA_%D9%85%D8%B1%DA%A9%D8%B2%DB%8C_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\"><\/span>\n<p>  \u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 WAF open-appsec \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u0645\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06af\u0631 \u062f\u0648\u0633\u062a \u062f\u0627\u0631\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0633\u062a\u0642\u0631\u0627\u0631 WAF open-appsec \u062e\u0648\u062f (\u0627\u062f\u063a\u0627\u0645 \u0634\u062f\u0647 \u0628\u0627 APISIX) \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0631\u06a9\u0632\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Open-appsec Web UI (\u0633\u0631\u0648\u06cc\u0633 SaaS) \u0645\u0648\u062c\u0648\u062f \u062f\u0631 https:\/\/my.openappsec.io\u060c \u0628\u0627 \u0627\u062a\u0635\u0627\u0644 \u0639\u0627\u0645\u0644 open-appsec \u0628\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f. \u06cc\u06a9 \u0646\u0645\u0627\u06cc\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0645\u0631\u06a9\u0632\u06cc.<\/p>\n<p>\u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0648\u062f \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f\u060c \u0627\u0645\u0627 \u0647\u0645\u0686\u0646\u0627\u0646 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0647 WebUI \u0645\u0631\u06a9\u0632\u06cc \u062f\u0631 \u00ab\u062d\u0627\u0644\u062a \u0627\u0639\u0644\u0627\u0645\u06cc\u00bb \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u062d\u0644\u06cc (\u0641\u0642\u0637 \u062e\u0648\u0627\u0646\u062f\u0646\u06cc) \u0631\u0627 \u062f\u0631 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u06a9\u0646\u0627\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc open-appsec\u060c \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0628\u0647 \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u0633\u06cc\u0627\u0631 \u0628\u06cc\u0634\u062a\u0631\u06cc \u0645\u0627\u0646\u0646\u062f \u0648\u0636\u0639\u06cc\u062a \u0639\u0627\u0645\u0644 \u0647\u0627\u06cc open-appsec \u0645\u0633\u062a\u0642\u0631 \u0634\u062f\u0647\u060c \u06af\u0632\u0627\u0631\u0634 \u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc\u060c \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0646\u062d\u0648\u0647 \u0627\u062a\u0635\u0627\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0648\u062f \u0628\u0647 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0645\u0631\u06a9\u0632\u06cc\u060c \u0627\u0633\u0646\u0627\u062f open-appsec \u0645\u0648\u062c\u0648\u062f \u062f\u0631 https:\/\/docs.openappsec.io \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u0632\u06cc\u0631 \u062a\u0639\u062f\u0627\u062f\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u062a \u0627\u0632 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqeebb7dda7gnqnm8szn.jpeg\" alt=\"Open-Websec UI 1\" loading=\"lazy\" width=\"800\" height=\"349\" title=\"\"><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flej53hpfuua1tfohl7nt.jpeg\" alt=\"Open-Websec UI 2\" loading=\"lazy\" width=\"800\" height=\"366\" title=\"\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AE%D9%84%D8%A7%D8%B5%D9%87\"><\/span>\n<p>  \u062e\u0644\u0627\u0635\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0648\u0628\u0644\u0627\u06af \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u06cc\u0645 \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 open-appsec \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0627 Apache APISIX \u062f\u0631 \u0647\u0645\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0634\u0648\u062f: \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0647\u0627\u06cc \u0645\u0639\u0645\u0648\u0644 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633\u060c \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0647\u0627\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc (Docker) \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc Kubernetes.<\/p>\n<p>\u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0645\u0631\u0627\u062d\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 APISIX \u0628\u0627 WAF open-appsec\u060c \u0645\u0627 \u062d\u0645\u0644\u0627\u062a \u062a\u0632\u0631\u06cc\u0642 SQL \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0631\u062f\u06cc\u0645\u060c \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0648\u062b\u0631 \u062a\u0648\u0633\u0637 \u0641\u0646\u0627\u0648\u0631\u06cc WAF \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc open-appsec \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0634\u062f.<\/p>\n<p>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0634\u062f \u06a9\u0647 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 WebUI \u0645\u0631\u06a9\u0632\u06cc open-appsec \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a\u060c \u0646\u0638\u0627\u0631\u062a\u060c \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u06af\u0632\u0627\u0631\u0634 \u0648 \u06af\u0632\u0627\u0631\u0634 \u0686\u0647 \u0645\u0632\u0627\u06cc\u0627\u06cc\u06cc \u062f\u0627\u0631\u062f.<\/p>\n<p>\u0627\u0645\u06cc\u062f\u0648\u0627\u0631\u06cc\u0645 \u0627\u06cc\u0646 \u0627\u062f\u063a\u0627\u0645\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u0627\u0645\u0646\u06cc\u062a \u062f\u0631\u0648\u0627\u0632\u0647 API APISIX \u0648 API\u0647\u0627\u06cc \u0648\u0628 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648\u0628 \u062f\u0631 \u0645\u0639\u0631\u0636 \u0622\u0646 \u0628\u0627 WAF \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0627\u0634\u06cc\u0646\u06cc open-appsec \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0628\u0627\u0634\u062f.<\/p>\n<p>\u0627\u06af\u0631 \u0628\u0627\u0632\u062e\u0648\u0631\u062f \u06cc\u0627 \u0633\u0624\u0627\u0644\u06cc \u062f\u0627\u0631\u06cc\u062f \u06cc\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0627 \u0686\u0627\u0644\u0634 \u0641\u0646\u06cc \u0631\u0648\u0628\u0631\u0648 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0622\u0646 \u06a9\u0645\u06a9 \u06a9\u0646\u06cc\u0645\u060c \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0634 \u0622\u0645\u062f \u0645\u06cc \u06af\u0648\u06cc\u06cc\u0645 \u06a9\u0647 \u0628\u0627 \u0645\u0627 \u062a\u0645\u0627\u0633 \u0628\u06af\u06cc\u0631\u06cc\u062f. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0686\u062a \u062f\u0631 https:\/\/www.openappsec.io \u06cc\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0627\u06cc\u0645\u06cc\u0644 \u0628\u0647: info@openappsec.io \u0628\u0627 \u062a\u06cc\u0645 open-appsec \u062a\u0645\u0627\u0633 \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D9%86%D8%A7%D8%A8%D8%B9_%D8%A7%D8%B6%D8%A7%D9%81%DB%8C\"><\/span>\n<p>  \u0645\u0646\u0627\u0628\u0639 \u0627\u0636\u0627\u0641\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"WAF_open-appsec\"><\/span>\n<p>  WAF open-appsec<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0648\u0628 \u0633\u0627\u06cc\u062a: https:\/\/www.openappsec.io<\/p>\n<p>GitHub: https:\/\/github.com\/openappsec<\/p>\n<p>\u0627\u0633\u0646\u0627\u062f: https:\/\/docs.openappsec.io<\/p>\n<p>\u0632\u0645\u06cc\u0646 \u0647\u0627\u06cc \u0628\u0627\u0632\u06cc: https:\/\/www.openappsec.io\/playground<\/p>\n<p>\u0648\u0628\u0644\u0627\u06af \u0647\u0627: https:\/\/www.openappsec.io\/blogs<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A2%D9%BE%D8%A7%DA%86%DB%8C_APISIX\"><\/span>\n<p>  \u0622\u067e\u0627\u0686\u06cc APISIX<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0648\u0628 \u0633\u0627\u06cc\u062a: https:\/\/apisix.apache.org<\/p>\n<p>GitHub: https:\/\/github.com\/apache\/apisix<\/p>\n<p>\u0627\u0633\u0646\u0627\u062f: https:\/\/apisix.apache.org\/docs\/<\/p>\n<p>\u0648\u0628\u0644\u0627\u06af \u0647\u0627: https:\/\/apisix.apache.org\/blog\/<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u0645\u0642\u062f\u0645\u0647 open-appsec WAF \u0647\u06cc\u062c\u0627\u0646 \u0632\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u06cc\u06a9 \u0627\u062f\u063a\u0627\u0645 \u062c\u062f\u06cc\u062f \u0628\u0627 \u062f\u0631\u0648\u0627\u0632\u0647 API \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 Apache APISIX \u0631\u0627 \u0627\u0639\u0644\u0627\u0645 \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0647\u0645\u06a9\u0627\u0631\u06cc \u062c\u062f\u06cc\u062f \u0628\u06cc\u0646 \u062a\u06cc\u0645\u200c\u0647\u0627\u06cc open-appsec \u0648 API7 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u0627\u0632 API\u0647\u0627\u06cc \u0648\u0628 \u0648 \u0633\u0627\u06cc\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u0648\u0628 \u062e\u0648\u062f \u06a9\u0647 \u062a\u0648\u0633\u0637 Apache APISIX &hellip;<\/p>\n","protected":false},"author":2,"featured_media":81168,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-81167","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/81167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=81167"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/81167\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/81168"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=81167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=81167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=81167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}