{"id":32968,"date":"2023-11-03T10:13:14","date_gmt":"2023-05-29T03:36:53","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/"},"modified":"2024-05-04T07:18:42","modified_gmt":"2024-05-03T23:18:42","slug":"%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/","title":{"rendered":"\u6211\u60f3\u5728Nginx Ingress Controller with ModSecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u6211\u5728Nginx Ingress Controller\u4e0a\u8fdb\u884c\u4e86ModSecurity\u7684\u5b9e\u65bd\u3002<br \/>\n\u6211\u5c06\u6838\u5fc3\u89c4\u5219\u96c6(CRS\/OWASP\u524d\u5341\u540d\u53ca\u5176\u4ed6\u5e7f\u6cdb\u7b7e\u540d)\u7684\u66f4\u65b0\u65b9\u6cd5\u8fdb\u884c\u4e86\u786e\u8ba4\u3002<\/p>\n<h1>\u5176\u4e2d\u4e00\u76ee\u7684<\/h1>\n<p>\u5b9a\u671f\u66f4\u65b0 Nginx Ingress Controller \u4e0a\u7684\u6838\u5fc3\u89c4\u5219\u96c6\u3002<\/p>\n<h1>\u65b9\u6cd5<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u7406\u60f3\uff1aNginx Ingress Controller \u4e0a\u306e Core Rule Set \u306e\u307f\u66f4\u65b0<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u59a5\u5354\u6848\uff1aNginx Ingress Controller \u81ea\u4f53\u306e\u30b3\u30f3\u30c6\u30ca\u30a4\u30e1\u30fc\u30b8\u542b\u3081\u3066\u66f4\u65b0<\/ul>\n<p>\u6211\u5927\u6982\u6d4f\u89c8\u4e86\u4e00\u4e0b\u4e92\u8054\u7f51\uff0c\u4f46\u6211\u89c9\u5f97\u53ef\u80fd\u4f1a\u6709\u4e00\u4e2a\u59a5\u534f\u7684\u65b9\u6848&#8230;<\/p>\n<h1>ModSecurity \u7b80\u4ecb<\/h1>\n<p>ModSecurity \u662f\u4e00\u4e2a\u5f00\u6e90\u7684Web\u5e94\u7528\u9632\u706b\u5899\u3002<br \/>\nOWASP\u6838\u5fc3\u89c4\u5219\u96c6\u662f\u4e00\u7ec4\u89c4\u5219\u3002CRS\u53ef\u4ee5\u5728ModSecurity\u6216\u517c\u5bb9\u7684Web\u670d\u52a1\u5668\u4e2d\u4f7f\u7528\u3002<\/p>\n<p>\u6839\u636eModSecurity\u5b98\u65b9\u7f51\u7ad9\u7684\u6d88\u606f\uff0cTrustwave\u516c\u53f8\u5ba3\u5e03ModeSecurity\u5c06\u4e8e2024\u5e747\u67081\u65e5\u7ec8\u6b62\u7ef4\u62a4\uff08EOL\uff09\u3002 \uff08\u770b\u6765ModeSecurity\u53ea\u5269\u4e0b\u4e00\u5e74\u534a\u7684\u65f6\u95f4\u4e86&#8230;\uff09<br \/>\n\u6b64\u540e\uff0cModeSecurity\u5c06\u79fb\u4ea4\u7ed9\u5f00\u653e\u6e90\u4ee3\u7801\u793e\u533a\uff0c\u4f46\u672a\u6765\u7684\u53d1\u5c55\u60c5\u51b5\uff08\u662f\u5426\u4f1a\u5f97\u5230\u6301\u7eed\u5f00\u53d1\uff09\u8fd8\u4e0d\u5f97\u800c\u77e5\u3002<\/p>\n<p>\u6839\u636e\u9605\u8bfb GitHub \u4e0a\u7684 README\uff0c\u76ee\u524d\u6700\u65b0\u7248\u672c\u4f3c\u4e4e\u662f v3.x.x \u7cfb\u5217\u3002\u6700\u521d\u662f\u4e3a\u4e86 Apache \u800c\u521b\u5efa\u7684\uff0c\u4f46\u5728 v3 \u4e2d\u5220\u9664\u4e86\u5bf9 Apache \u7684\u4f9d\u8d56\uff0c\u4ee5\u652f\u6301 Nginx \u548c IIS\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d151737434c4406bfd6ee\/11-0.png\" alt=\"image.png\" \/><\/div>\n<h1>Nginx Ingress\u63a7\u5236\u5668\u6982\u8ff0<\/h1>\n<p>\u53c2\u8003\u5148\u4eba\u7684 Kubernetes \u4e2d Ingress Controller \u7684\u5217\u8868\uff0c\u53ef\u4ee5\u770b\u5230\u6709\u4e24\u4e2a\u514d\u8d39\u53ef\u7528\u7684 Nginx Ingress\u3002<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>kubernetes\/ingress-nginx = Kubernetes \u7684 Ingress Nginx<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>nginxinc\/kubernetes-ingress = Nginx \u516c\u53f8\u7684 Kubernetes Ingress<\/ol>\n<p>\u7531\u4e8e\u6211\u4eec\u4f7f\u7528\u7684\u662f\u524d\u4e00\u79cd\u9009\u9879\uff0c\u6240\u4ee5\u6211\u4eec\u5c06\u5728\u8fd9\u4e2a\u73af\u5883\u4e2d\u8fdb\u4e00\u6b65\u8ba8\u8bba kubernetes\/ingress-nginx\u3002<\/p>\n<h1>\u6838\u5fc3\u89c4\u5219\u96c6\u66f4\u65b0\u65b9\u5f0f<\/h1>\n<p>\u67e5\u770bOWASP CRS\u6587\u6863\u65f6\uff0c\u53d1\u73b0\u9700\u8981\u4f7f\u7528ModSecurity 3.0.8\u6216\u66f4\u9ad8\u7248\u672c\u7684IIS\/Nginx Web\u670d\u52a1\u5668\u3002\u5728IIS\/Nginx\u73af\u5883\u4e2d\u4f7f\u7528CRS v3\u9700\u8981ModSecurity v.3.0.8\u6216\u66f4\u9ad8\u7248\u672c\u3002<\/p>\n<p>\u5f93\u3044\u3001\u6050\u3089\u304f Nginx Ingress \u306f ModSeurity v3.0.8 \u4ee5\u964d\u3092\u63a1\u7528\u3057\u3066\u3044\u308b\u3068\u63a8\u6e2c\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u6211\u8ba4\u4e3a\u5728Nginx Ingress\u4e0a\uff0cCRS\u76f8\u5173\u914d\u7f6e\u662f\u901a\u8fc7crs-setup.conf\u6587\u4ef6\u8fdb\u884c\u7ba1\u7406\u7684\u3002\u6211\u8ba4\u4e3a\u53ea\u9700\u8981\u4fee\u6539\u8fd9\u4e2a\u914d\u7f6e\u6587\u4ef6\u5c31\u53ef\u4ee5\u4e86\uff0c\u4f46\u662f\u7531\u4e8e\u4e0d\u6e05\u695a\u5982\u4f55\u6b63\u786e\u5730\u7f16\u5199\u914d\u7f6e\u6587\u4ef6\uff0c\u6240\u4ee5\u9700\u8981\u591a\u770b\u4e00\u4e9b\u6587\u6863&#8230;<\/p>\n<p>KUBERNETES INGRESS CONTROLLER\u3092\u8aad\u3080\u9650\u308a\u3001\u5927\u3057\u305f\u60c5\u5831\u306f\u3042\u308a\u307e\u305b\u3093\u3002<br \/>\n\u7d9a\u3044\u3066 https:\/\/github.com\/coreruleset\/coreruleset\/blob\/v4.0\/dev\/INSTALL\u5185\u306e INSTALE \u30d5\u30a1\u30a4\u30eb\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>Installing on Nginx\r\n-------------------\r\n    1. Compile ModSecurity into Nginx\r\n    2. Ensure that ModSecurity is loading correctly by checking error.log\r\n    at start up for lines indicating ModSecurity is installed. An example\r\n    might appear as follows:\r\n    ```ModSecurity for nginx (STABLE)\/2.9.1 (http:\/\/www.modsecurity.org\/) configured.```\r\n    3. The most common method of deploying ModSecurity we have seen is\r\n    to create a new folder underneath the Nginx directory (typically\r\n    \/usr\/local\/nginx\/conf\/). Often this folder\r\n    is called 'owasp-modsecurity-crs'. Create this folder and cd into it.\r\n    4. Download our release from https:\/\/coreruleset.org\/installation\/\r\n    and unpack it into a new owasp-modsecurity-crs folder.\r\n    5. Move the crs-setup.conf.example file to crs-setup.conf.\r\n    Please take this time to go through this\r\n    file and customize the settings for your local environment. Failure to\r\n    do so may result in false negatives and false positives. See the\r\n    section entitled OWASP CRS Configuration for more detail.\r\n    6. Rename rules\/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example and\r\n    rules\/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example to remove the\r\n    '.example' extension. This will allow you to add exceptions without updates\r\n    overwriting them in the future.\r\n    7. Nginx requires the configuration of a single ModSecurity\r\n    configuration file within the nginx.conf file using the\r\n    'ModSecurityConfig' directive (when using ModSecurity 2.x).\r\n    Best practice is to set 'ModSecurityConfig' to a file from\r\n    which you will include your other ModSecurity configuration\r\n    files. In this example we will use:\r\n    ```ModSecurityConfig modsec_includes.conf;```\r\n    7. Within modsec_includes.conf create your includes to the\r\n    CRS folder similar to as follows (The modsecurity.conf file from the\r\n    ModSecurity installation is included in this example):\r\n    ```\r\n    Include modsecurity.conf\r\n    Include owasp-modsecurity-crs\/crs-setup.conf\r\n    Include owasp-modsecurity-crs\/plugins\/*-config.conf\r\n    Include owasp-modsecurity-crs\/plugins\/*-before.conf\r\n    Include owasp-modsecurity-crs\/rules\/*.conf\r\n    Include owasp-modsecurity-crs\/plugins\/*-after.conf\r\n    ```\r\n    8. Restart web server and ensure it starts without errors\r\n    9. Make sure your web sites are still running fine.\r\n    10. Proceed to the section \"Testing the Installation\" below.\r\n<\/code><\/pre>\n<p>\u4ee5\u4e0b\u662f\u7528\u4e8enginx\u7684\u5b89\u88c5\u6b65\u9aa4\u3002\u7b80\u8981\u603b\u7ed3\u5982\u4e0b\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u307e\u305a\u306f ModSecurity \u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u3059\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">error.log \u3092\u78ba\u8a8d\u3057\u3001\u6b63\u3057\u304f ModSecurity \u304c\u30ed\u30fc\u30c9\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d<\/ul>\n<\/li>\n<\/ul>\n<p>usr\/local\/nginx\/conf\/owasp-modsecurity-crs \u30d5\u30a9\u30eb\u30c0\u4f5c\u6210\u3055\u308c\u308b\u3053\u3068\u3092\u78ba\u8a8d<br \/>\n\u6700\u65b0\u306e Core Rule Set \u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066 owasp-modsecurity-crs \u30d5\u30a9\u30eb\u30c0\u306b\u5c55\u958b<\/p>\n<p>crs-setup.conf.example \u3092 crs-setup.conf \u306b\u30ea\u30cd\u30a4\u30e0\u5f8c\u3001\u5fc5\u8981\u3067\u3042\u308c\u3070\u8a2d\u5b9a\u5185\u5bb9\u3092\u5909\u66f4<\/p>\n<p>REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example \u3068 RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example \u304b\u3089 &#8220;example&#8221; \u62e1\u5f35\u5b50\u3092\u9664\u304f\u3002\u6b21\u56de CRS \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u6642\u306b\u5f53\u8a72\u30d5\u30a1\u30a4\u30eb\u306f\u4e0a\u66f8\u304d\u3055\u308c\u306a\u304f\u306a\u308b<br \/>\nnginx.conf \u5185\u306b ModSecurity \u7528\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a<\/p>\n<p>modsec_includes.conf \u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3001CRS \u30d5\u30a9\u30eb\u30c0\u7b49\u3092\u542b\u3081\u308b<br \/>\nnginx \u518d\u8d77\u52d5\u3057\u3066\u52d5\u4f5c\u78ba\u8a8d<\/p>\n<p>\u6574\u7406 Ingress nginx controller \u4e0a\u5df2\u7ecf\u51fa\u73b0\u7684\u8bbe\u7f6e\u6587\u4ef6\u548c\u8def\u5f84\u3002(\u5728 Ingress nginx controller \u4e0a\u8fdb\u884c\u786e\u8ba4)<\/p>\n<div>\n<div class=\"post-table\">\u30d1\u30b9\u30d5\u30a1\u30a4\u30eb\u540d\/etc\/nginx\/modsecuritymodsecurity.conf\/etc\/nginx\/owasp-modsecurity-crscrs-setup.conf\/etc\/nginx\/owasp-modsecurity-crsrules(\u30c7\u30a3\u30ec\u30af\u30c8\u30ea)\/etc\/nginx\/owasp-modsecurity-crsnginx-modsecurity.conf(modsec_includes.conf\u3068\u540c\u3058)<\/div>\n<\/div>\n<p>\u6574\u7406\u4ee5\u4e0a\u540e\uff0c\u60f3\u5230\u4e86\u4e00\u4e2a\u53ef\u4ee5\u4e0d\u7528\u518d\u6b21\u7f16\u8bd1\uff0c\u53ea\u9700\u66ff\u6362CRS\uff08\u89c4\u5219\uff09\u5e76\u91cd\u65b0\u542f\u52a8nginx\u5373\u53ef\u7684\u60f3\u6cd5\uff01<\/p>\n<h3>\u7d50\u8ad6 &#8211; \u6982\u62ec\u800c\u8a00<\/h3>\n<p>\u9996\u5148\uff0c\u5c06 Ingress Nginx \u63a7\u5236\u5668\u4e0a\u7684 rules \u6587\u4ef6\u5939\u5207\u6362\u5230 nfs-volume\u3002\u7136\u540e\uff0c\u66ff\u6362 rules \u6587\u4ef6\u5939\u4e2d\u7684\u89c4\u5219\u96c6\u548c crs-setup.conf \u6587\u4ef6\uff0c\u5e76\u901a\u8fc7\u6267\u884c nginx -s reload \u547d\u4ee4\u6765\u66f4\u65b0 CRS\u3002<\/p>\n<h1>\u5728\u4efb\u52a1\u8fdb\u884c\u8fc7\u7a0b\u4e2d\u5f15\u8d77\u5173\u6ce8\u7684\u95ee\u9898<\/h1>\n<p>Q. Nginx Ingress Controller \u7684\u7248\u672c\u662f\u591a\u5c11\uff1f<\/p>\n<p>A. \u63cf\u8ff0 Pod<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\"># kubectl describe pod xxx |grep Image<\/span>\r\n    Image:         registry.k8s.io\/ingress-nginx\/controller:v1.4.0\r\n<\/code><\/pre>\n<p>Q. \u7528\u4e8eModSecurity\u7684\u6838\u5fc3\u89c4\u5219\u96c6\u7684\u7248\u672c\u662f\u4ec0\u4e48\uff1f<\/p>\n<p>\u786e\u8ba4 crs-setup.conf \u6587\u4ef6\u7684\u5185\u5bb9\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span><span class=\"nb\">cat<\/span> \/etc\/nginx\/owasp-modsecurity-crs\/crs-setup.conf |grep <span class=\"s1\">'Core Rule Set ver'<\/span>\r\n<span class=\"c\"># OWASP ModSecurity Core Rule Set ver.3.3.2 \/\/ ver3.3.2 \u3067\u3059\u306d\u3002\u73fe\u6642\u70b9\u306e\u6700\u65b0\u306f ver3.3.4 \u3067\u3059<\/span>\r\n<\/code><\/pre>\n<p>\u95ee\u9898\uff1aModSecurity\u7684\u7248\u672c\u662f\u591a\u5c11\uff1f<\/p>\n<p>\u7531\u4e8eCRS\u6b63\u5728\u4f7f\u7528v3.x.x\u7248\u672c\uff0c\u6240\u4ee5ModSecurity\u662f\u4f7f\u7528v3\u6216\u66f4\u9ad8\u7248\u672c\uff0c\u8fd9\u662f\u6beb\u65e0\u7591\u95ee\u7684\u3002\u4f46\u662f\uff0c\u6211\u4eec\u6ca1\u6709\u627e\u5230\u660e\u786e\u7684\u786e\u8ba4\u65b9\u6cd5\u3002\u5982\u679c\u4ed4\u7ec6\u67e5\u770bGitHub\u4e0a\u7684\u6587\u6863\uff0c\u53ef\u80fd\u4f1a\u627e\u5230\u4e00\u4e9b\u4fe1\u606f&#8230;<\/p>\n<p>Q. \u53ea\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6\u662f\u5426\u597d\uff0c\u4f46\u4e0eModSecurity\u4e3b\u4f53\u7684\u517c\u5bb9\u6027\u662f\u5426\u53ef\u884c\uff1f<\/p>\n<p>\u5982\u679c\u662fv.3.x.x\u7cfb\u5217\uff0c\u53ef\u4ee5\u8ba4\u4e3a\u6ca1\u6709\u95ee\u9898\uff08\u63a8\u6d4b\uff09\u3002<\/p>\n<h1>\u6700\u540e<\/h1>\n<p>\u73b0\u5728\u6709\u4e00\u4e2a\u53eb\u505aCoraza\u7684\u540e\u7eed\u66ff\u4ee3ModSecurity\u7684\u9009\u62e9\u3002\u5b83\u4e0eCRS v4\u517c\u5bb9\uff0c\u5e76\u4e14\u6b63\u5728\u8fdb\u884c\u4f7f\u5176\u9002\u7528\u4e8eNginx\u7684\u5f00\u53d1\uff0c\u56e0\u6b64Coraza\u5f88\u6709\u53ef\u80fd\u6210\u4e3aModSecurity\u7684\u66ff\u4ee3\u54c1\u3002<br \/>\n\u90a3\u4e48\uff0cNginx Ingress\u65b9\u9762\u4f1a\u8fc1\u79fb\u5230Coraza\u4e0a\u6765\u4ee3\u66ffModSecurity\u5417\uff1f<\/p>\n<h1>\u8bf7\u67e5\u8003\u8d44\u6599\u3002<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">ModSecurity-wiki<\/ul>\n<\/li>\n<\/ul>\n<p>Kubernetes NGINX Ingress WAF with ModSecurity. From zero to hero! \/\/ \u82f1\u8a9e\u3067\u3053\u308c\u304f\u3089\u3044\u30b5\u30af\u30c3\u3068\u66f8\u3051\u308b\u3088\u3046\u306b\u306a\u308a\u305f\u3044\u3002\u826f\u8a18\u4e8b\u3002<br \/>\nOWASP ModSecurity Core Rule Set<br \/>\nOWASP\u00ae ModSecurity Core Rule Set (CRS)<\/p>\n<p>coreruleset\/coreruleset \/\/ OWASP \u306e CRS git \u306f\u3053\u3053<\/p>\n<p>Installation Guide \/\/ Nginx Ingress Controller \u306e\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f\u3053\u3053<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u6211\u5728Nginx Ingress Controller\u4e0a\u8fdb\u884c\u4e86ModSecurity\u7684\u5b9e\u65bd\u3002 \u6211\u5c06\u6838\u5fc3\u89c4\u5219 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-32968","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u6211\u60f3\u5728Nginx Ingress Controller with ModSecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u60f3\u5728nginx-ingress-controller-with-modsecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u6211\u60f3\u5728Nginx Ingress Controller with ModSecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u6211\u5728Nginx Ingress Controller\u4e0a\u8fdb\u884c\u4e86ModSecurity\u7684\u5b9e\u65bd\u3002 \u6211\u5c06\u6838\u5fc3\u89c4\u5219 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u60f3\u5728nginx-ingress-controller-with-modsecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-29T03:36:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-03T23:18:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d151737434c4406bfd6ee\/11-0.png\" \/>\n<meta name=\"author\" content=\"\u79d1, \u96c5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u79d1, \u96c5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/\",\"name\":\"\u6211\u60f3\u5728Nginx Ingress Controller with ModSecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-05-29T03:36:53+00:00\",\"dateModified\":\"2024-05-03T23:18:42+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u6211\u60f3\u5728Nginx Ingress Controller with ModSecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\",\"name\":\"\u79d1, \u96c5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"caption\":\"\u79d1, \u96c5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u6211\u60f3\u5728Nginx Ingress Controller with ModSecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u60f3\u5728nginx-ingress-controller-with-modsecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u6211\u60f3\u5728Nginx Ingress Controller with ModSecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6","og_description":"\u9996\u5148 \u6211\u5728Nginx Ingress Controller\u4e0a\u8fdb\u884c\u4e86ModSecurity\u7684\u5b9e\u65bd\u3002 \u6211\u5c06\u6838\u5fc3\u89c4\u5219 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u60f3\u5728nginx-ingress-controller-with-modsecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-05-29T03:36:53+00:00","article_modified_time":"2024-05-03T23:18:42+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d151737434c4406bfd6ee\/11-0.png"}],"author":"\u79d1, \u96c5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u79d1, \u96c5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"3 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/","name":"\u6211\u60f3\u5728Nginx Ingress Controller with ModSecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-05-29T03:36:53+00:00","dateModified":"2024-05-03T23:18:42+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u6211\u60f3\u5728Nginx Ingress Controller with ModSecurity\u73af\u5883\u4e2d\u66f4\u65b0\u6838\u5fc3\u89c4\u5219\u96c6"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a","name":"\u79d1, \u96c5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","caption":"\u79d1, \u96c5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e6%83%b3%e5%9c%a8nginx-ingress-controller-with-modsecurity%e7%8e%af%e5%a2%83%e4%b8%ad%e6%9b%b4%e6%96%b0%e6%a0%b8%e5%bf%83%e8%a7%84%e5%88%99%e9%9b%86%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/32968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=32968"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/32968\/revisions"}],"predecessor-version":[{"id":96911,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/32968\/revisions\/96911"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=32968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=32968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=32968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}