engal1991 / Docker-Kubernetes

0 stars 0 forks source link

[08장: 인그레스(Ingress)] 8.4 Nginx 인그레스 컨트롤러에 SSL/TLS 보안 연결 적용 #30

Open engal1991 opened 2 years ago

pms2954 commented 2 years ago

ssl / tls 설정

1. 인증에사용할 인증서와 비밀키 생성

$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout tls.key -out tls.crt -subj "/CN=*.elb.ap-northeast-2.amazonaws.com/O=alicek106"

위 명령어로 tls.key라는 비밀키와 tls.cert 인증서 생성.

2. secret 생성

$kubectl create secret tls tls-secret --key tls.key --cert tls.crt

3. 인그레이스에 secret적용

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  tls:
  - hosts:
    - {{PUBLIC_DNS}}
    secretName: tls-secret

  rules:
  - host: {{PUBLIC_DNS}}
    http:
      paths:
      - path: /echo-hostname
        backend:
          serviceName: hostname-service
          servicePort: 80