본문 바로가기
linux/raspberry 4B

[nginx-proxy-manager]SSL: error:02001002:system library:fopen 에러 해결방법

by bestchoco 2022. 2. 4.

[에러 기록] (호스트를 전부 지우지 않고 일부만 삭제했을 경우 아래의 방법이 가능.)

 

1. SSL 갱신 테스트 겸 저장되어 있던 Proxy Host들을 하나씩 갱신했다.

2. 일부 SSL이 갱신되지 않아서 갱신되지 않은 호스트는 삭제함. (갱신된 호스트는 남겨둠)

3. PC를 재시작하고 다시 재접속하려니 아래와 같은 오류와 함께 nginx-proxy-manager 접속 불가

 

[nginx] starting...
nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/npm-19/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/npm-19/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)

 

4. 에러 로그를 보아하니 npm-19 폴더를 찾을 수 없다고 한다..

 

[에러 해결]

1. docker 접속 후 nginx-proxy-manager 컨테이너에 콘솔로 접근,

    콘솔에 다음과 같은 명령어로 npm-19 파일의 위치로 이동.

    

    cd ..

    cd etc

    cd letsencrypt

    cd live

 

2. ls 명령어로 현재 폴더의 목록을 확인하면 README 파일과 npm-?? 폴더가 존재할 것이다.

   (npm-?? 파일이 없을 경우 nginx-proxy-manager를 재설치하는게 더 빠를 것으로 판단됨.)

   

3. 남아있는 npm-?? 폴더를 에러 로그에서 찾지 못한 폴더의 숫자와 일치시켜 복사한다.

   

   cp -r npm-?? npm-19

   

4. docker에서 nginx-proxy-manager의 로그를 지켜본다.

    (또 다른 npm-?? 폴더가 없다고 에러 날 수 있음, 그러면 위의 작업을 다시 반복한다.)

  

5. 4번에서 이상이 없다면 nginx-proxy-manager에 접속한다.