본문 바로가기

HTTPS13

Kubernetes(K8s) Ingress 컨트롤러 SSL/TLS 무료 인증서 자동화 구성 Kubernetes(K8s)에서 Ingress를 사용하여 애플리케이션을 외부에 노출시키려면 일반적으로 Ingress 컨트롤러가 필요하고, 이 컨트롤러는 클러스터 내의 NodePort 또는 LoadBalancer를 통해 동작합니다. Ingress 자체는 외부 요청을 적절한 서비스로 라우팅하는 규칙을 정의하지만, 실제 트래픽을 받기 위해서는 클러스터 밖으로의 연결 경로가 설정되어 있어야 합니다. NodePort는 각 노드에 특정 포트를 할당하고, 이 포트를 통해 서비스에 접근할 수 있게 해주는 방법입니다. 이 포트를 통해 Ingress 컨트롤러에 도달하고, Ingress 컨트롤러는 정의된 규칙에 따라 트래픽을 적절한 서비스로 라우팅합니다. 따라서 NodePort 없이는 외부에서 Ingress 컨트롤러로의 접.. 2024. 5. 21.
전통적인 Web-DB 구조에서 Web-WAS(API)-DB 아키텍처로의 전환 전통적인 web-db 구조 대신 web-was(api)-db 구조로 운영하는 것은 여러 보안 이점이 있습니다. 이러한 아키텍처는 분리된 레이어를 통해 보안을 강화하며, 각 레이어가 서로 다른 보안 요구 사항과 위험을 관리할 수 있도록 합니다. 특히 API를 사용하는 경우, 보안 위험을 줄이고 보안 설정의 정확성을 높일 수 있습니다. 관리의 용이성: WEB/WAS 구조에서는 웹 서버와 WAS가 분리되어 있어 서버 관리 및 장애 대응이 더욱 용이합니다. 웹 서버와 WAS의 역할이 구분되어 있기 때문에 관리 및 유지보수가 더 쉽고, 장애 발생 시 대처 방안도 명확해집니다. 안정성 및 가용성: 이중화를 통해 안정성을 높일 수 있습니다. 웹 서버와 WAS가 분리되어 있으면, 하나의 시스템에 문제가 발생해도 다른 .. 2024. 3. 11.
Nginx Ingress Controller Backend HTTP and HTTPS 서비스 혼합(both) NGINX Ingress 컨트롤러를 사용 중이라면, nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"은 작동하지 않습니다. 그러나 nginx.org/ssl-services는 백엔드에서 TLS를 필요로 하는 서비스를 선택할 수 있게 해줍니다. 이름이 혼동스러울 수 있어서 실제 목적을 깨닫기까지 시간이 걸릴 수 있습니다. 이것은 NGINX 하부에서 사용되는 표준 Kubernetes Ingress 컨트롤러에서는 작동하지 않으며, NGINX 원본 컨트롤러에서만 작동합니다. 참고: https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-wi.. 2023. 12. 4.
HTTP Strict Transport Security (HSTS) 작동 원리 및 적용 방법 HTTP Strict Transport Security (HSTS)란 무엇인가? HSTS는 웹 보안을 강화하기 위한 중요한 메커니즘으로, 웹사이트의 보안을 향상시키고 사용자 데이터를 보호하는 데 도움이 되는 기술입니다. HTTP 통신은 기본적으로 텍스트로 전송되며 보안상 취약할 수 있습니다. 특히 사용자가 웹사이트에 처음 접속할 때, 일반적으로 브라우저와 웹 서버 간의 통신은 암호화되지 않은 HTTP로 시작됩니다. 이 초기 HTTP 연결은 중간자 공격을 수행하거나 사용자의 데이터를 가로채는 데 사용될 수 있습니다. HSTS는 이러한 위협을 해결하기 위해 개발되었습니다. 이것은 브라우저에게 특정 도메인을 HTTPS를 통해서만 접속하도록 강제하는 정책을 설정하는 메커니즘입니다. 사용자가 해당 도메인을 입력하.. 2023. 11. 14.
Nginx를 사용한 CONNECT 프록시 설정 가이드 Nginx를 사용하여 HTTPS CONNECT 요청을 통해 웹사이트에 연결하기 위한 전체 가이드입니다. 이 가이드에는 Nginx의 기본 설치, 모듈 설치, 설정 방법, 예제 내용 및 각 옵션의 설명이 포함되어 있습니다. Nginx 설치 Nginx를 설치합니다. (운영 체제에 따라 패키지 관리자를 사용하여 설치할 수 있습니다.) Ubuntu/Debian: sudo apt-get update sudo apt-get install nginx CentOS/RHEL: sudo yum install epel-release sudo yum install nginx Nginx 서비스를 시작하고 부팅 시 자동으로 실행되도록 설정합니다. sudo systemctl start nginx sudo systemctl enabl.. 2023. 10. 14.