SSL
-
[kubernetes] Ingress-nginx --enable-ssl-passthrough 옵션 적용해보기 (with argocd)kubernetes 2023. 12. 21. 17:40
kubernetes 에서 운영을 하다보면 가끔 필요한 기능이 있다. ssl 을 직접 구현하고 있는 백엔드 서비스에 ingress-nginx 로 https 요청을 바이패스만 해 주고 싶은 기능이 그것이다. 예를 들어 아래와 같은 상황에서 필요한 기능이다. Ingress 는 https 요청이 들어왔을 때, ssl 처리를 하지 않고 요청을 그대로 백엔드 서비스로 바이패스하는 상황이다. 성능을 일부 희생해도 된다면 ingress-nginx 옵션만 추가하면 바로 구현할 수 있다. nginx.ingress.kubernetes.io/ssl-passthrough: "true" 다만, 이 옵션은 default 값으로 비활성화 되어 있기 때문에 ingress 옵션을 수정해야 한다. 이 글에선, ssl 을 직접 구현하는 a..
-
nexus3 docker image 로 private docker repository 만들기docker 2022. 2. 14. 21:57
docker 를 많이 사용하다보니 자연스럽게 개인용 private docker repository 의 필요가 생긴다. nexus3 를 이용하면 docker 환경 내에서 docker repository 를 정말 쉽게 만들 수 있다. 그 과정을 기록해 보려고 한다. 환경 nexus3 는 docker 로 띄울 것이고, ssl 인증이 필요하기 때문에 nginx 가 이 역할을 맡도록 한다. nexus 와 nginx 는 모두 docker 컨테이너로 띄울 것이다. nexus 컨테이너의 이름은 nexus, nginx 컨테이너의 이름은 nginx 로 할 것이다. 도메인명: 이 글에서는 nexus 인터페이스는 my-test-nexus.com, 그리고 새로 만들 private repository 는 my-test-docke..
-
docker 환경에서 nginx 로 jenkins ssl 적용docker 2022. 2. 9. 15:00
jenkins 를 외부에 공개해야 할 필요가 있다면 nginx 를 프록시로 사용하여 ssl 을 비롯한 각종 처리를 하게 하는 것도 괜찮은 방법이다. 그런 상황이 생겨서 한 번 적용해 보았다. 환경 CentOS 7.9 docker 20.10.12 참고: nginx 컨테이너 내부에서 jenkins 컨테이너를 호출할 수 있어야 한다. run 시 --link 옵션을 사용하여 해결하도록 한다. nginx 1.20.2 직접 설치해서 사용해도 되지만 여기서는 docker 로 실행해보려고 한다. jenkins 2.289.3 8080 포트로 열려있는 상태이다. 실습에서는 docker 로 띄웠는데, 도커를 이용하지 않아도 상관없다. jenkins 를 도커로 구동하는 것에 대해서는 https://bitgadak.tistor..
-
certbot 으로 let's encrypt 인증서 발급받기linux 2022. 1. 30. 00:48
certbot 을 통해 let's encrypt 인증서를 발급받아보자. 현재로서는 가장 간단한 방법인 것 같다. 공식 사이트 가이드를 따라 진행한다. 아래 페이지를 참고했다. certbot 가이드: https://certbot.eff.org/instructions?ws=nginx&os=centosrhel7 (nginx, centos7) snapd 가이드: https://snapcraft.io/docs/installing-snap-on-centos 준비 외부에서 접근 가능한 ip 도메인 (여기서는 필자가 소유하고 있는 crudewebtools.com 도메인을 사용한다.) 서버 열린 http(80) 포트 (인증서 발급에 필요), 열린 https(443) 포트 (인증서 발급 받고 사용할 것) 환경 CentOS..
-
openssl 로 self-signed certificate 만들기linux 2021. 9. 10. 11:56
서버에서 사용할 self-signed 인증서를 만드려고 한다. X.509 extensions 보통 브라우저에서는 상관없지만, Docker api 등에서는 인증서의 v3 extension 필드를 요구하는 경우가 있다. 이 경우를 위해 extension 의 일부 필드를 사용한다. - basicConstraints: root 인증서에서 사용할 필드이다. 다른 인증서(서버용 인증서) 에 서명을 하는 경우 필요하다. - subjectAltName: 서버 인증서에서 사용할 필드이다. 도메인과 일치하는 DNS 값이 있어야 한다. 이전에는 CN(Common Name) 만 도메인과 동일하면 문제가 되지 않았는데, 도커 20.10.8 에서는 api 사용 시 이 값이 도메인과 일치하는 것을 요구해서 추가하였다. openss..