-
Hi. I've followed these instructions to integrate ArgoCD with Azure AD for SSO purposes. When I click the 'Login via Saml' button on the ArgoCD UI login page, I get the response Failed to query provider "https://argocd.dev.xxxx.com/api/dex": 400 Bad Request: Client sent an HTTP request to an HTTPS server (i've masked the hostname). ArgoCD is deployed into a Kubernetes cluster thats running in AWS cloud. The UI ingress is facilitated by nginx-application-controller which creates an internal AWS NLB. SSL connections are terminated at the NLB so connections to ArgoCD are made using HTTP i.e. the ArgoCD ingress resource is configured with the following:
Ingress spec looks like: spec: Some potentially significant configuration from the nginx-ingress-controller:
The argocd-dex-server logs indicate its listening for an https connection: {"level":"info","msg":"listening (telemetry) on 0.0.0.0:5558","time":"2023-06-19T12:44:17Z"} But the dex-server container spec is configured as follows, so bit of a contradiction between (https) above and - name: http below. containers: argocd-server logs the following when the SSO button is pushed: time="2023-06-19T12:45:18Z" level=info msg="Initializing OIDC provider (issuer: https://argocd.dev.xxxx.com/api/dex)" |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
I think i've found the solution for this. A little dig into the argocd code turned up this line in argocd_dex.go: command.Flags().BoolVar(&disableTLS, "disable-tls", env.ParseBoolFromEnv("ARGOCD_DEX_SERVER_DISABLE_TLS", false), "Disable TLS on the HTTP endpoint") And sure enough, configuring that environment variable in the argocd values.yaml resolved the issue i was having i.e.
And if i'd found this documentation earlier it would also have been a big help: https://argo-cd.readthedocs.io/en/stable/operator-manual/tls/#configuring-inbound-tls-for-argocd-dex-server |
Beta Was this translation helpful? Give feedback.
-
Just in case anyone is currently experiencing the same issue. If you want to set the Helm Values
|
Beta Was this translation helpful? Give feedback.
-
For reference; I am also seeing this error when the dex.config: |
connectors:
- type: saml
id: aws_sso
name: AWS SSO
config:
caData: <invalid-b64-string> |
Beta Was this translation helpful? Give feedback.
I think i've found the solution for this. A little dig into the argocd code turned up this line in argocd_dex.go:
command.Flags().BoolVar(&disableTLS, "disable-tls", env.ParseBoolFromEnv("ARGOCD_DEX_SERVER_DISABLE_TLS", false), "Disable TLS on the HTTP endpoint")
And sure enough, configuring that environment variable in the argocd values.yaml resolved the issue i was having i.e.
And if i'd found this documentation earlier it would also have been a big help: https://argo-cd.readthedocs.io/en/stable/operator-manual/tls/#configuring-inbound-tls-for-argocd-dex-server