【问题标题】:413 Request Entity Too Large on Wordpress / Kubernetes413 请求实体在 Wordpress / Kubernetes 上太大
【发布时间】:2020-07-03 02:00:08
【问题描述】:

尝试在我的全新 Wordpress 安装上上传新主题时,我收到 413 Request Entity Too Large。

我在 StackOverflow 上阅读了很多其他问题并尝试了这些注释:

  • nginx.ingress.kubernetes.io/secure-backends: "true"
  • nginx.ingress.kubernetes.io/proxy-body-size: "100m"
  • nginx.ingress.kubernetes.io/client-max-body-size: "100m"
  • nginx.org/client-max-body-size: "100m"

什么有效: 上传小于 1MB 的文件。

我猜这与 Bitnami 标准 nginx 配置有关。如here 所见。但我不知道如何将它添加到我当前的配置中。

感谢您帮助我!

**Wordpress Debug Information:**

PHP max input variables 1000
PHP time limit  30
PHP memory limit    512M
Max input time  60
Upload max filesize 40M
PHP post max size   40M
The main WordPress directory    Writable
The wp-content directory    Writable
The uploads directory   Writable
The plugins directory   Writable
The themes directory    Writable


Deployment Yaml
{
  "kind": "Deployment",
  "apiVersion": "extensions/v1beta1",
  "metadata": {
    "name": "wordpressdf99e",
    "namespace": "default",
    "selfLink": "/apis/extensions/v1beta1/namespaces/default/deployments/wordpressdf99e",
    "uid": "f39369f1-6c1f-11ea-8b29-063deb7a2778",
    "resourceVersion": "18492542",
    "generation": 2,
    "creationTimestamp": "2020-03-22T09:31:47Z",
    "labels": {
      "app.kubernetes.io/instance": "wordpressdf99e",
      "app.kubernetes.io/managed-by": "Tiller",
      "app.kubernetes.io/name": "wordpress",
      "helm.sh/chart": "wordpress-9.0.4"
    },
    "annotations": {
      "deployment.kubernetes.io/revision": "2"
    }
  },
  "spec": {
    "replicas": 1,
    "selector": {
      "matchLabels": {
        "app.kubernetes.io/instance": "wordpressdf99e",
        "app.kubernetes.io/name": "wordpress"
      }
    },
    "template": {
      "metadata": {
        "creationTimestamp": null,
        "labels": {
          "app.kubernetes.io/instance": "wordpressdf99e",
          "app.kubernetes.io/managed-by": "Tiller",
          "app.kubernetes.io/name": "wordpress",
          "helm.sh/chart": "wordpress-9.0.4"
        },
        "annotations": {
          "kubectl.kubernetes.io/restartedAt": "2020-03-22T12:23:46+01:00"
        }
      },
      "spec": {
        "volumes": [
          {
            "name": "wordpress-data",
            "persistentVolumeClaim": {
              "claimName": "wordpressdf99e"
            }
          }
        ],
        "containers": [
          {
            "name": "wordpress",
            "image": "docker.io/bitnami/wordpress:5.3.2-debian-10-r48",
            "ports": [
              {
                "name": "http",
                "containerPort": 8080,
                "protocol": "TCP"
              },
              {
                "name": "https",
                "containerPort": 8443,
                "protocol": "TCP"
              }
            ],
            "env": [
              {
                "name": "ALLOW_EMPTY_PASSWORD",
                "value": "yes"
              },
              {
                "name": "MARIADB_HOST",
                "value": "wordpressdf99e-mariadb"
              },
              {
                "name": "MARIADB_PORT_NUMBER",
                "value": "3306"
              },
              {
                "name": "WORDPRESS_DATABASE_NAME",
                "value": "bitnami_wordpress"
              },
              {
                "name": "WORDPRESS_DATABASE_USER",
                "value": "bn_wordpress"
              },
              {
                "name": "WORDPRESS_DATABASE_PASSWORD",
                "valueFrom": {
                  "secretKeyRef": {
                    "name": "wordpressdf99e-mariadb",
                    "key": "mariadb-password"
                  }
                }
              },
              {
                "name": "WORDPRESS_USERNAME",
                "value": "user"
              },
              {
                "name": "WORDPRESS_PASSWORD",
                "valueFrom": {
                  "secretKeyRef": {
                    "name": "wordpressdf99e",
                    "key": "wordpress-password"
                  }
                }
              },
              {
                "name": "WORDPRESS_EMAIL",
                "value": "user@example.com"
              },
              {
                "name": "WORDPRESS_FIRST_NAME",
                "value": "FirstName"
              },
              {
                "name": "WORDPRESS_LAST_NAME",
                "value": "LastName"
              },
              {
                "name": "WORDPRESS_HTACCESS_OVERRIDE_NONE",
                "value": "no"
              },
              {
                "name": "WORDPRESS_BLOG_NAME",
                "value": "User's Blog!"
              },
              {
                "name": "WORDPRESS_SKIP_INSTALL",
                "value": "no"
              },
              {
                "name": "WORDPRESS_TABLE_PREFIX",
                "value": "wp_"
              },
              {
                "name": "WORDPRESS_SCHEME",
                "value": "http"
              }
            ],
            "resources": {
              "requests": {
                "cpu": "300m",
                "memory": "512Mi"
              }
            },
            "volumeMounts": [
              {
                "name": "wordpress-data",
                "mountPath": "/bitnami/wordpress",
                "subPath": "wordpress"
              }
            ],
            "livenessProbe": {
              "httpGet": {
                "path": "/wp-login.php",
                "port": "http",
                "scheme": "HTTP"
              },
              "initialDelaySeconds": 120,
              "timeoutSeconds": 5,
              "periodSeconds": 10,
              "successThreshold": 1,
              "failureThreshold": 6
            },
            "readinessProbe": {
              "httpGet": {
                "path": "/wp-login.php",
                "port": "http",
                "scheme": "HTTP"
              },
              "initialDelaySeconds": 30,
              "timeoutSeconds": 5,
              "periodSeconds": 10,
              "successThreshold": 1,
              "failureThreshold": 6
            },
            "terminationMessagePath": "/dev/termination-log",
            "terminationMessagePolicy": "File",
            "imagePullPolicy": "IfNotPresent"
          }
        ],
        "restartPolicy": "Always",
        "terminationGracePeriodSeconds": 30,
        "dnsPolicy": "ClusterFirst",
        "securityContext": {
          "runAsUser": 1001,
          "fsGroup": 1001
        },
        "schedulerName": "default-scheduler",
        "hostAliases": [
          {
            "ip": "127.0.0.1",
            "hostnames": [
              "status.localhost"
            ]
          }
        ]
      }
    },
    "strategy": {
      "type": "RollingUpdate",
      "rollingUpdate": {
        "maxUnavailable": "25%",
        "maxSurge": "25%"
      }
    },
    "revisionHistoryLimit": 10,
    "progressDeadlineSeconds": 600
  },
  "status": {
    "observedGeneration": 2,
    "replicas": 1,
    "updatedReplicas": 1,
    "readyReplicas": 1,
    "availableReplicas": 1,
    "conditions": [
      {
        "type": "Progressing",
        "status": "True",
        "lastUpdateTime": "2020-03-22T11:34:28Z",
        "lastTransitionTime": "2020-03-22T09:31:47Z",
        "reason": "NewReplicaSetAvailable",
        "message": "ReplicaSet \"wordpressdf99e-6bcf574f64\" has successfully progressed."
      },
      {
        "type": "Available",
        "status": "True",
        "lastUpdateTime": "2020-03-22T12:14:55Z",
        "lastTransitionTime": "2020-03-22T12:14:55Z",
        "reason": "MinimumReplicasAvailable",
        "message": "Deployment has minimum availability."
      }
    ]
  }
}

【问题讨论】:

    标签: wordpress kubernetes kubernetes-ingress


    【解决方案1】:

    如果您使用的是外部 Nginx 入口控制器,您将为入口控制器创建一个配置映射并将 proxy-body-size 设置为所需的大小。

    The default size for it is 1m

    还有一个bitnami wordpress nginx image

    在哪里可以直接为其设置Server块并添加client_max_body_size

    https://github.com/bitnami/bitnami-docker-wordpress-nginx/blob/master/test.yaml#L9

    【讨论】:

      【解决方案2】:

      感谢您的评论strongjz!

      解决此问题所需的一行代码是:

      ingress.bluemix.net/client-max-body-size: "500m"
      

      一旦我将它添加到我的入口的注释中。问题解决了!

      【讨论】:

        猜你喜欢
        • 2019-05-05
        • 1970-01-01
        • 2015-11-18
        • 2013-08-19
        • 2014-12-30
        • 2014-12-23
        • 2017-02-16
        • 2012-09-23
        相关资源
        最近更新 更多