docker-compose ssl적용 삽질해결

MinLeo·2023년 10월 16일

정정 2~3일간 SSL적용 문제때문에 골머리를 썩혔다..

오류 내용은

 nginx: [emerg] cannot load certificate "/srv/ssl/[인증서].pem": PEM_read_bio_X509_AUX() failed (SSL: error:0480006C:PEM routines::no                                                   start line:Expecting: TRUSTED CERTIFICATE)

였다.

읽어보면 PEM 형식이 뭔가 잘못되었다고 되어있다.

Nginx.conf 파일은 이렇다.

server {
    listen 443 ssl;
    server_name 도메인;
    #charset utf-8;
    client_max_body_size 128M;
    ssl_certificate_key /srv/ssl/인증키.pem;
    ssl_certificate /srv/ssl/인증서.pem;
    
    ...
    }

docker-compose.yml에서는

version: '3'
services:

    nginx:
        container_name: nginx
        build: ./nginx
        image: docker-server/nginx
        restart: always
        ports:
          - "80:80"
          - "443:443"
        volumes:
          - ./도메인:/srv/docker-server
          - ./log:/var/log/nginx
          - ./static:/srv/static
          - ./media:/srv/media
          - ./ssl/cert: /srv/ssl/인증서.pem
          - ./ssl/key:/srv/ssl/인증키.pem
      

이런식으로 되어있었는데 오류문구를 보면 내 인증서와 인증키를 읽어들이는데 있어서 어떤 오류가 있는 줄 알고 crt로 변환도 해보고, 유효성 검사도 해보고 다해봤는데 계속 똑같은 오류 문구가 나와서 미칠지경이였다..

뭔가 볼륨에서 인증키 두개를 한개로 합치면 보기좋을거 같아서

- ./ssl/cert: /srv/ssl/인증서.pem
- ./ssl/key:/srv/ssl/인증키.pem

# 이 2가지 경로를 하나로 합쳤다.
 - ./ssl:/srv/ssl

볼륨쪽을 살짝 이렇게 고쳤더니 바로 Https 적용이 되었다!

하아 감격 ..ㅠㅠ 볼륨쪽 경로가 이상해서 그런거였다니 너무 허탈하면서도 기분이 좋았다.

나와 같은 오류를 겪고 몇시간 몇일 동안 헛질하지 않는 일이 생기지 않기를 바라며,

이글을 써봤다..

0개의 댓글