대머리개발자

api gateway - 인그레스 콘트롤러! 본문

개발이야기/오픈소스 설치

api gateway - 인그레스 콘트롤러!

대머리개발자 2023. 10. 31. 00:03
728x90

MAS로 시스템을 설계한다면 누구나 생각을 하게되는 "관문"이다.

 

잘 몰랐을 때 물론 지금도 잘 모르지만....

막연히 인증은 "콩게이트웨"이나 "스프링 클라우드 게이트웨이"를 사용해서 공통 처리를 해야겠다라고 생각 하고 있었다.

 

쿠버를 구축하다 보니 인그레스 콘틀로러라는 친구를 사용해야 했고..이 친구를 가만 보니....하나의 관문으로써 쓰임을 하고 있었다.

그래서 굳이 "콩게"나 "스게"까지 넣어야 되나?? 이 친구가 인증까지 해주면 딱일듯 싶어서 찾아봤더니.

권한을 체크 하는 설정을 넣을 수 있는 블로그를 찾았다.  (하단 블로그)

 

원래 1안으로 생각을 하고 있다가.....아무리 봐도 동일한 역할을 하는 것 같은...2안으로 ㄱㄱㄱ

 

 

1. 토큰을 발급받고 관리해주는 인증서버와 프론트 서버는 auth 없이도 접근 가능하도록 설정

2. 접근 권한이 있어야지만 가능한 API 서버들은 auth-signin에 명시된 주소에서 체크!!

: nginx.ingress.kubernetes.io/auth-url : https://localhost.co.kr/v2/oauth

 

해당 endpoint에서 권한이 있다고 판단하면 "200 or 202" 

없으면 401로 리턴해주면 된다.

 

oauth에서 인증을 체크하고

권한 실패가 떨어지면 Endpoint에 도달하지 못한다.

 

한 가지 아쉬운점은.. 401에 대한 상세 이유를 좀 더 세분화 해서 리턴 해주면 깔끔스한데... 모두 401이다. 근데...

JWT가 변조가 된건지 만료가 된건지.....근데..뭘 더 바라냐? 충분하다. 감사합니다.!!

 

참고.. 블로그

 

Kubernetes-NGINX Ingress 인증 - OAuth

Kubernetes-NGINX Ingress 사용 시, 간편하게 OAuth 인증을 설정하는 방법에 대해 정리한 내용입니다.

coffeewhale.com

 

 

Spring Cloud Gateway를 이용한 API Gateway 구축해보기

어느 정도 규모 이상의 마이크로 서비스 아키텍처 기반 서비스에서는 API Gateway를 도입하는 것이 효율적이라고 하는데요. API Gateway는 쉽게 클라이언트와 각각의 서비스들 사이에 위치하며, 요청

wildeveloperetrain.tistory.com

 

 

728x90