argocd登录失败,并显示“收到意外的内容类型”错误

问题描述

尝试使用CLI登录时,出现错误

FATA[0004] rpc error: code = Internal desc = transport: received the unexpected content-type "text/plain; charset=utf-8"

这是我们的Ingress配置:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: argocd-server-ingress
  namespace: argocd
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  tls:
    - hosts:
      - argocd.foo.dev
      secretName: argocd-foo-dev-tls
  rules:
    - host: argocd.foo.dev
      http:
        paths:
        - backend:
            serviceName: argocd-server
            servicePort: https
          path: /

Web UI可以正常工作。

我正在使用命令:

argocd login argocd.foo.dev

缺少什么?

解决方法

虽然我不是100%是上述错误的原因,但使用--grpc-web可以解决该问题:

argocd login argocd.foo.dev --grpc-web

文档说,当不支持HTTP2时需要此标志:

启用gRPC-web协议。如果Argo CD服务器在不支持HTTP2的代理后面,则很有用。

在我们的例子中,我们的入口控制器为,它确实支持

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...