1. 목적과 계기
- 웹서버용 nginx 가 필요했다.
- url이 암호화가 일부 필요했다.
- http_secure_link_module 을 이용하면 간단한 암호화가 가능하다고 생각했다.
- helm을 쓰면 편하다. (문제의 시작)
2. 진행 과정
- helm을 통해 설치하는 것이 편리하다고 생각하여, bitnami/nginx를 k8s에 올렸다.
- serverBlock이라는 values.yml을 수정하여 간단한 경로처리를 진행
- 이후 바로 secure_link_secret secret 코드를 가이드에 맞춰 진행 (nginx http secure link)
- 실패
3. 실패의 원인
- This module is not built by default, it should be enabled with the --with-http_secure_link_module configuration parameter.
- nginx에서 기본적으로 해당 옵션이 꺼져있나보다 라고 착각
4. 실패를 극복하기 위한 삽질
- bitnami/nginx 에서 Adding custom NGINX modules 를 발견하고 직접 빌드하여 구현할 수 있지 않을까 생각.
- --with-http_secure_link_module 구문을 추가하는 등의 삽질을 했으나, 모조리 실패
- 로컬에 nginx.tar를 받아 직접 컴파일, 도커 우분투 안에서 컴파일 등의 시도 (이때까지만해도 nginx -V로 configure를 확인하지 않음)
- (당연히 This module is not built by default 이런 구문을 넣어둬서.. nginx:latest에도 당연히 없을 것이라고 생각함)
- nginx -V로 현재 구동되고 있는 nginx의 ./configure 정보를 확인 할 수 있다.
5. 삽질의 결론
- 현재 스터디 상태에서는 불가능하다에 도달
- bitnami/nginx의 helm과 같이 쓰려면 bitnami/nginx에 컴파일된 소스(nginx)도 필요할 것 같고, 그런 생각이 듬.
- bitnami/nginx chart안에 단순히 nginx 버전을 변경한다고 해결될 문제가 아니었음.
- bitnami는 기본적으로 make 전에 prefix를 붙여주는데, 경로에 관한 문제도 꽤나 복잡할 것 같다는 생각이 듬
- 찐 결론 nginx 는 개별스크립트를 작성해서 관리하자.
6. 에필로그
https://velog.io/@edwin/nginx-httpsecurelinkmodule-사용하기