도커로 만든 웹앱에 ssl 적용하는 방법

도커로 만든 웹앱에 ssl 적용하는 방법

작성일 2024.01.19댓글 2건
    게시물 수정 , 삭제는 로그인 필요

ssl은 구매했고
환경은 윈도우 서버인데
죄다 구글링해도 우분투 기반이라 쉽지가 않네요ㅠㅠ...


3333포트의 컨테이너가있는데
http가아닌 https로 접속가능케하려는데 구매한 ssl를 어떻기 적용해야만하는지 모르겠슴니다..

다음과같이 시도는 해보았습니다.


docker-compose.yaml 파일에서
[code]
version: '3.7'

services:
  my_backend:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 3333:3333
    depends_on:
      - my_db
    env_file:
      - ./.env.docker
      
  proxy: 
      build: .
      ports:
        - 80:80
        - 443:443
      volumes:
        - /nginx.conf
      depends_on:
      - my_backend
[/code]


그리고 nginx.conf 파일에서는

[code]
server {
        server_name 구매한 도메인 주소;
        listen 443 ssl;
        listen [::]:443 ssl;
ssl_certificate C:\Users\Administrator\Desktop\user1\in_time\cert.pem;
        ssl_certificate_key C:\Users\Administrator\Desktop\user1\in_time\key.pem;
location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                proxy_pass http://127.0.0.1:3333;
        }
}

[/code]

물론 저 경로에 파일들은 두었구요
도커 데스크톱 재시작했지만 작동은 안됩니당 ㅠ



profile_image 익명 작성일 -

기본적으로 도커에 대한 개념을 이해하신 뒤, 컨테이너 환경을 구성하는 것이 옳을 것으로 생각됩니다. nginx 에서 지정한 경로는 존재하지 않으며, 기본적으로 nginx 컨테이너는 리눅스로 구성 되어 있습니다. 하나의 작은 리눅스 컴퓨터가 nginx + my_backend 각각에 적용되어 있는 형태입니다.

만약 https 인증서를 구매하셨다면, docker-compose 내에 인증서 파일을 리눅스 경로 기준으로 추가해야 하며, nginx 상에서 443 의 프록시 패스를 80으로 이어주셔야 하는 등 손을 봐야 할 곳이 많습니다.

profile_image 익명 작성일 -

안녕하세요!

질문주신 내용에 대해서 답변드릴게요!

도커로 만든 웹앱에 SSL을 적용하는 방법은 다음과 같습니다.

1. 도메인 구매 및 SSL 인증서 획득: 먼저, 도메인을 구매하고 SSL 인증서를 구매하여 획득해야 합니다. 질문에 따르면 SSL 인증서는 이미 구매한 것으로 보입니다.

2. Dockerfile에서 SSL 적용 설정: Dockerfile을 사용하여 컨테이너 이미지를 빌드할 때, SSL 적용을 위한 설정을 추가해야 합니다. Nginx 사용 시, Nginx의 SSL 관련 설정을 Dockerfile에 작성해야 합니다.

3. Nginx 설정 파일 작성: Nginx를 사용하여 SSL을 적용하려면 Nginx의 설정 파일인 nginx.conf 파일을 작성해야 합니다. 질문에서 제공한 nginx.conf 파일의 내용이 적절한지 확인해야 합니다. 필요에 따라 경로와 파일 이름을 수정해야 할 수도 있습니다. 또한, SSL 인증서와 개인 키 파일의 경로도 올바르게 지정되어야 합니다.

4. 도커 컴포즈 파일 수정: 도커 컴포즈 파일인 docker-compose.yaml을 수정하여 포트를 3333에서 443로 변경해야 합니다. 또한, Nginx 컨테이너와 백엔드 컨테이너 간의 의존성을 설정해야 합니다.

5. 도커 재시작 및 테스트: 도커 데스크톱을 재시작하고 컴포즈 파일을 실행하여 웹앱에 SSL이 적용되었는지 확인해야 합니다. 이때, 브라우저를 통해 https://도메인 주소:443 으로 접속하여 정상적으로 동작하는지 확인할 수 있습니다.

위의 과정을 참고하여 도커로 만든 웹앱에 SSL을 적용해보세요.

SEO최적화 전문 백링크프로입니다. 궁금증이 해결되셨을까요?

해결되셨다면 꼭 답변확정 부탁드리겠습니다!

답변확정은 답변자의 큰 힘이 되오니 잊지말고 부탁드리겠습니다.

추가로 궁금한 점 있으시면 프로필 통해서 질문 주세요. 감사합니다!