Dokku 에서 Let's Encrypt 인증서 발급 오류.

조회수 3208회

AWS EC2 인스턴스에 Dokku 라고 Docker 기반의 PaaS 툴(?) 을 설치해서 사용하고 있습니다. 최근 Dokku 에서 사용가능한 Let's Encrypt 플러그인이 나와서 이를 이용해 인증서를 발급해 보려는 중입니다. 시도를 몇번 해 봤는데, 인증서 발급에서 계속 아래와 같이 Invalid character in DNS name 오류가 발생합니다. 혹시 Let's Encrypt 사용해 보신 분들 중에 이 오류 해결 방법 아시는 분 답변 부탁드립니다.

참고로 사용 환경은 아래와 같습니다.

AWS EC2 t2.micro 인스턴스 - 우분투 14.04.4 LTS
인증서 발급 대상 도메인 : shipped.c.youngbin.xyz

네임서버는 Cloudflare 사용 중이며, 아래와 같은 설정으로 사용 중입니다.

Cloudflare SSL : Flexible SSL 사용중
http://youngbin.xyz/* -> https://youngbin.xyz/* 로 리다이렉트

A / *.c / <EC2 인스턴스 IP>  
A / c / <EC2 인스턴스 IP>  
A / youngbin.xyz / 192.30.252.153(GitHub Pages IP)  
A / youngbin.xyz / 192.30.252.154(GitHub Pages IP)  
CNAME / www / youngbin.xyz  

<터미널에 출력된 오류>

ubuntu@ip-172-31-24-252:~$ dokku --v letsencrypt shipped
=====> Let's Encrypt shipped...
-----> Updating letsencrypt docker image...
latest: Pulling from m3adow/letsencrypt-simp_le
4d06f2521e4f: Already exists 
a3ed95caeb02: Already exists 
8d87d7d66444: Already exists 
87187c773fd1: Already exists 
Digest: sha256:66269a4cc647c9847a7f4f8ba39ba98caeb3b1b824d4f28ccb7dcc7b21351f25
Status: Image is up to date for m3adow/letsencrypt-simp_le:latest
       done
-----> Enabling ACME proxy for shipped...
-----> Getting letsencrypt certificate for shipped...
        - Domain 'shipped.c.youngbin.xyz/'
darkhttpd/1.11, copyright (c) 2003-2015 Emil Mikulic.
listening on: http://0.0.0.0:80/
2016-03-23 04:43:59,717:INFO:__main__:1202: Generating new account key
2016-03-23 04:44:00,798:INFO:requests.packages.urllib3.connectionpool:758: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-03-23 04:44:02,648:INFO:requests.packages.urllib3.connectionpool:758: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-03-23 04:44:03,491:INFO:requests.packages.urllib3.connectionpool:758: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-03-23 04:44:04,461:INFO:requests.packages.urllib3.connectionpool:758: Starting new HTTPS connection (1): letsencrypt.org
2016-03-23 04:44:04,639:INFO:requests.packages.urllib3.connectionpool:758: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-03-23 04:44:05,564:INFO:requests.packages.urllib3.connectionpool:758: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
ACME server returned an error: urn:acme:error:malformed :: The request message was malformed :: Error creating new authz :: Invalid character in DNS name


Debugging tips: -v improves output verbosity. Help is available under --help.
-----> Certificate retrieval failed!
-----> Disabling ACME proxy for shipped...
       done
ubuntu@ip-172-31-24-252:~$ 
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 로그에 있는 - Domain 'shipped.c.youngbin.xyz/'를 보면 뒤에 /가 있는데 혹시 이것 때문이 아닐까요?

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 설마 진짜 그거 때문인가 했는데 진짜로 그거 때문이였네요 ㅋㅋㅋ 감사합니다! `home/dokku/(app-name)/VHOST` 파일에 적힌 URL 가장 끝에 뒤에 `/` 이거 지우고 저장한 뒤, `dokku ps:restart (app-name)` 하고 다시 `dokku letsencrypt (app-name)` 하니까 인증서 발급 되네요 ㅋㅋㅋ 알 수 없는 사용자 2016.3.23 21:21
    • 저도 설마했는데 ㅋㅋ 다행이네요 알 수 없는 사용자 2016.3.23 21:27

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)