"proxy_redirect" directive is duplicate 오류

작성자 김효상 수정일 2023-05-31 17:18

#SparklingSoDA3.0, #스파클링소다3, #스파클링소다3.0

아티클 관련 제품: SparklingSoDA3.0

오류 메세지 혹은 현상
  • Ingress를 deploy 할 때 "proxy_redirect" directive is duplicate 라는 오류 발생

원인
  • Kubernetes 를 1.24 버전으로 업그레이드 후 Rstudio를 구동 시 Ingress yaml 파일에 configuration-snippet 속성에 proxy_redirect가 설정 되어 있어 발생하는 오류
  • K8s 1.24 버전에서는 proxy-redirect-from 설정 되어 있지 않을 경우 proxy_redirect none 으로 설정이 되어 "proxy_redirect" directive is duplicate 오류 발생


문제 해결
  • proxy-redirect-from 및 proxy-redirect-to 속성을 이용하여 proxy redirect 설정    

    설정 예    

  annotations:
    kubernetes.io/ingress.class: "nginx"
    ingress.kubernetes.io/ssl-redirect: "false"
    ingress.kubernetes.io/proxy-body-size: "0"
    ingress.kubernetes.io/proxy-redirect-from: ~^https://[^/]+(/.+)$
    ingress.kubernetes.io/proxy-redirect-to: /rstudio/${prjid}/$1
    ingress.kubernetes.io/configuration-snippet: |
        if ($request_uri ~ "/rstudio/([0-9]+)/auth-sign-out") {
               rewrite /rstudio/([0-9]+)/auth-sign-out /external-api/logoutRStudio last;
        }
        if ($args ~ ^(.*)file=[.\w]*%2F.*$) {
            return 404;
        }
        if ($args ~ ^(.*)pattern=[.\w]*(%3C[a-zA-Z]+[^%3E]+[%3E]).*$) {
            return 404;
        }
        rewrite ^/rstudio/(?<prjid>[0-9]+)/(.*)$ /$2 break;
        #proxy_redirect ~^http://[^/]+(/.+)$ /rstudio/${prjid}/$


아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300