쿠버네티스 환경에서 ArgoCD를 도메인을 적용시켜 접속하려고 시도 중

 

HTTP 요청이 HTTPS로 리디렉션되어 "400 Bad Request" 오류가 발생.

인그레스 룰과, 로드밸런서 타입의 서비스를 이리저리 만져보았지만 계속해서 이런에러가 발생.

또한 "리디렉션 횟수가 너무 많다"라는 메시지도 출력.

 

문제를 조사하던 중, SSL Termination이라는 개념을 확

이는 클라이언트와 로드밸런서 간의 통신은 암호화된 상태로 이루어지지만, 로드밸런서가 이 암호화된 데이터를 복호화한 후 내부 서버와는 평문으로 통신하는 방식입니다. 이를 통해 내부 서버에서의 복호화 처리 부담이 줄어들지만, 내부 통신이 암호화되지 않아 보안상 위험할 수 있다는 단점이 있습니다.

 

 

문제의 원인은 로드밸런서에서 SSL Termination이 이루어진 후,

복호화된 데이터가 HTTPS 포트로 전달되면서 발생한 것으로 보입니다.

해당 포트는 암호화된 데이터를 기대하고 있기 때문에, 복호화된 데이터를 거부하며 "400 Bad Request" 오류 발생

 

SSL Termination 

클라이언트가 HTTPS 요청시 서버와 SSL/TLS Handshake를 통해 서버에서 복호화 작업을 거쳐 요청에 응답해야하나,

중간에 트래픽을 감당하는 로드밸런서에서 SSL/TLS handshake를 수행하여 복호화된 요청을 내부서버에 전달하는 방식

 

 

 

 

 

 

SSL passThrough

클라이언트와 서버간 SSL/TLS Handshake를 통해 서버가 직접 요청을 복호화하며 통신

 

 

 

 

 

 

 

 

*** 400 Error ***

여기서는 https 포트를 443으로 가정, https 포트에 http 요청이 들어와 400 에러 반환

https targetPort를 targetPort: http로 설정하여 https로 들어온 요청을 http로 처리할 수 있게 한다.

 

 

 

 

 

 

 

 

*** 해결 ***

ArgoCD는 https 요청을 받는 것이 기본으로 설정되어있어서

그 설정을 해제하여 해결

 

argocd-cmd-params-cm 이라는 ConfigMap에서

 

data:

   server.insecure="True" 을 설정하여 해결

 

ingress를 사용하지 않을생각이면 argocd-server 서비스의 타입을 로드밸런서로 설정 후 공인 IP를 할당하여 사용

 

 

 

 

 

 

 

 

 

 

 

 

 

'Network' 카테고리의 다른 글

3계층 스위치  (0) 2023.03.01
cisco로 간단한 wan 구성  (0) 2023.03.01
cisco로 간단한 lan 구성  (0) 2023.03.01
osi 계층  (0) 2023.03.01
cisco 사용  (0) 2023.03.01

+ Recent posts