Cloudflare의 Lets Encrypt 인증서를 MongoDB의 TLS/SSL용으로 연결하는 방법
안녕하세요. 지난번에 도메인 DNS를 Cloudflare에 연결하여 Lets Encrypt 인증서를 잘 사용하고 있습니다.
개념이 아직 좀 생소해서 몇번의 시행착오를 거쳤지만 nginx와의 몇번 삽질 끝에 각종 docker 서비스들에 SSL을 물리는것에 성공했습니다.
다만 최근에 MongoDB를 새로 구축을 하면서 연결할때마다 TLS/SSL 경고문이 뜨는것도 좀 신경쓰이고 여기에도 SSL 인증서를 적용해봄 좋겠다싶어서 검색을 해보니 대부분의 내용들이 mongod.conf 파일에서 직접 인증서파일인 PEM 경로를 지정해주는 방식으로 나오네요.
Cloudflare의 경우에는 엔드포인트의 앞에서의 보안을 제공하는것으로 알고 있는데 이러한 경우에는 mongodb에는 TLS/SSL을 적용할수 없는건지 궁금합니다.
Cloudflare의 SSL/TLS 항목을 쭉 훑어보고 있는데 따로 PEM파일을 받아오는 방식은 불가능한것같은데 이러한 경우에는 어떻게 하는것이 좋을까요?
1등
wxcvabefz 2023.08.15. 12:29
이 경우 클라우드 플레어에서 제공하는 인증서를 MongoDB의 인증서로 변경 해주면 되지 않나요?
그 대신 가변이 아닌 엄격? 그걸로 하셔야 하지 않나 싶네요.
그게 아니라면 Http단을 프론트에서 볼수 있게 해서 앞단에서만 ssl을 사용하시거나 하셔야 할 것 같습니다
그 대신 가변이 아닌 엄격? 그걸로 하셔야 하지 않나 싶네요.
그게 아니라면 Http단을 프론트에서 볼수 있게 해서 앞단에서만 ssl을 사용하시거나 하셔야 할 것 같습니다
2등
팡킨 2023.08.15. 18:51
현 세팅이 어떤식으로 되어있는지 몰라 확실하진 않습니다만, letsencrypt 인증서는 아마 클라우드플레어가 아니라 nginx에서 사용중일 것으로 보입니다.
nginx와 같은 환경에서 mongodb를 서비스 예정이시면 그냥 /etc/letsencrypt/live/도메인/... 경로에 있는 인증서 사용하시면 됩니다. 다른 환경이시면 인증서 새로 발급 받으세요.
다만 클라우드플레어를 언급하신 것으로 보아 mongodb를 외부망에 열어두고 싶으신 것 같은데 열어두어야 할 필요가 있나요?
원격지에서 db를 사용하실 필요가 있다면 원격지에 추가로 db를 구축하시거나 api서버를 구축하시는게 낫지 않을까 합니다.
nginx와 같은 환경에서 mongodb를 서비스 예정이시면 그냥 /etc/letsencrypt/live/도메인/... 경로에 있는 인증서 사용하시면 됩니다. 다른 환경이시면 인증서 새로 발급 받으세요.
다만 클라우드플레어를 언급하신 것으로 보아 mongodb를 외부망에 열어두고 싶으신 것 같은데 열어두어야 할 필요가 있나요?
원격지에서 db를 사용하실 필요가 있다면 원격지에 추가로 db를 구축하시거나 api서버를 구축하시는게 낫지 않을까 합니다.
cmt alert