小编Tim*_*tha的帖子

在 Kubernetes 上使用 Nginx Ingress 的 414 请求 URI 太长

我们用于kubernetes/ingress-nginxAzure AKS 实例。我有一个大约 9kb 长的 URI(它包含我们的身份服务器的apost_logout_redirect_uri和 a 非常长,在 .Net core 2.2 中运行)。id_token_hint

但是,我无法通过入口,因为 nginx 拒绝使用414 URI Too Long. 我可以在 Nginx 日志中看到该请求,但在身份服务器日志中看不到该请求,因此它显然之前被退回了。

我尝试使用配置映射更新 nginx 配置,但没有成功。这些设置已应用(并且之前帮助我解决了其他问题)。然而,在这种情况下,我的尝试似乎都不起作用。这是我正在使用的配置图:

apiVersion: v1
data:
  http2-max-header-size: "64k"
  http2-max-field-size: "32k"
  proxy-body-size: "100m"
  client-header-buffer-size: "64k"
  large-client-header-buffers: "4 64k"
kind: ConfigMap
metadata:
  name: nginx-ingress-controller
  namespace: kube-system
Run Code Online (Sandbox Code Playgroud)

以下是身份服务器的入口注释:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: example-ingress-name
  annotations:
    kubernetes.io/ingress.class: nginx
    certmanager.k8s.io/cluster-issuer: letsencrypt
    nginx.ingress.kubernetes.io/send_timeout: "180"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "180"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "180"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "180"
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/cors-allow-headers: "authorization,content-type"
    nginx.ingress.kubernetes.io/proxy-body-size: 250m
    nginx.ingress.kubernetes.io/proxy-buffer-size: …
Run Code Online (Sandbox Code Playgroud)

nginx kubernetes

5
推荐指数
1
解决办法
6806
查看次数

标签 统计

kubernetes ×1

nginx ×1