Q&A

책을 따라하다가 막히는 부분이 있나요?
질문을 남겨주세요.

SSL인증서발급은 잘됬는데 접속은 안됩니다

3 years, 8 months ago

ikedo ikedo

ssl 인증서는 잘 발급된거같은데 접속이 안됩니다.


ikjulim.comASimple-13.125.35.14
ikjulim.comNSSimple-
ns-1740.awsdns-25.co.uk.
ns-1251.awsdns-28.org.
ns-208.awsdns-26.com.
ns-836.awsdns-40.net.
ikjulim.comSOASimple-ns-1740.awsdns-25.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
www.ikjulim.comASimple-13.125.35.14

ubuntu@ip-172-26-2-46:~/github/Blog_prj$ sudo ./init-letsencrypt.sh

Existing data found for ikjulim.com. Continue and replace existing certificate? (y/N) y

### Creating dummy certificate for ikjulim.com ...

Creating network "blog_prj_default" with the default driver

Generating a RSA private key

.....++++

.....................................................................................++++

writing new private key to '/etc/letsencrypt/live/ikjulim.com/privkey.pem'

-----


### Starting nginx ...

Creating blog_prj_db_1 ... done

Creating blog_prj_web_1 ... done

Creating blog_prj_nginx_1 ... done


### Deleting dummy certificate for ikjulim.com ...


### Requesting Let's Encrypt certificate for ikjulim.com ...

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Plugins selected: Authenticator webroot, Installer None

Requesting a certificate for ikjulim.com and www.ikjulim.com


IMPORTANT NOTES:

 - Congratulations! Your certificate and chain have been saved at:

   /etc/letsencrypt/live/ikjulim.com/fullchain.pem

   Your key file has been saved at:

   /etc/letsencrypt/live/ikjulim.com/privkey.pem

   Your certificate will expire on 2021-06-18. To obtain a new or

   tweaked version of this certificate in the future, simply run

   certbot again. To non-interactively renew *all* of your

   certificates, run "certbot renew"


### Reloading nginx ...

2021/03/20 17:02:39 [notice] 22#22: signal process started


sungyong
sungyong   3 years, 8 months ago

안녕하세요. 접속했을 때, 브라우저에서는 어떤 오류 메시지가 나오나요? 아무 메시지도 나오지 않고 500Error 이런 식으로 나오나요? 

이런 식으로라도 나온다면, 아마 debug=0으로 되어 있기 때문에 자세한 오류 메시지는 보이지 않을거에요. 임시로 debug=1로 수정한 다음에 오류 메시지를 확인해주세요. 

Updated: March 21, 2021, 11:34 p.m.

ikedo
ikedo   3 years, 8 months ago

브라우저로 들어가면 아무런  메시지도 안나옵니다.(사이트에 연결할 수 없음  www.ikjulim.com에서 응답하는 데 시간이 너무 오래 걸립니다.)

init-letsencrypt.sh를 실행하기 전에 docker-compose up -d로 했을때는 잘 돌았는데 down을 하고 다시 up을 해도 안됩니다.


ubuntu@ip-172-26-2-46:~/github/Blog_prj$ sudo docker-compose ps

      Name                    Command               State               Ports             

------------------------------------------------------------------------------------

blog_prj_db_1      docker-entrypoint.sh postgres    Up      5432/tcp                      

blog_prj_nginx_1   /docker-entrypoint.sh ngin ...   Up      0.0.0.0:443->443/tcp,         

                                                                                                0.0.0.0:80->80/tcp            

blog_prj_web_1     gunicorn Blog_prj.wsgi:app ...   Up      8000/tcp    


인증서 디렉토리를 들어가봤는데 인증서가 없는거같습니다.


ubuntu@ip-172-26-2-46:/etc/letsencrypt$ ls -alF

total 16

drwxr-xr-x  3 root root 4096 Mar 21 10:53 ./

drwxr-xr-x 96 root root 4096 Mar 20 17:13 ../

-rw-r--r--  1 root root  121 Feb 11  2019 cli.ini

drwxr-xr-x  5 root root 4096 Mar 21 10:53 renewal-hooks/


init-letscrypt.sh내에 up의 옵션 -d를 재고학 했더니 제 랩탑과 통신은 한듯합니다.


nginx_1    | 131.108.64.82 - - [21/Mar/2021:15:44:24 +0000] "GET / HTTP/1.1" 301 169 "-" "Mo

zilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.1

03 Safari/537.36" "-"

Updated: March 22, 2021, 12:47 a.m.

taegon
taegon   3 years, 8 months ago

안녕하세요.

도메인으로 접속해보니, HTTP를 이용하여 서비스는 잘 되는 것 같네요.

인증서 부분에서 문제가 발생하면, 인증서 발급이 보통 거부되는데, 인증서가 정상적으로 발급된 것으로 보이는데, 인증서 파일이 없는 현상은 이상하네요. 인증서 파일이 제대로 저장되지 않은 상태에서 웹서버가 제대로 시작되지 않아서, https 적용 후 접속이 안 되는 것 같습니다.

혹시 nginx.conf 파일을 제게 보내주실 수 있을까요? 제 이메일은 taegon.k@gmail.com 입니다.

그리고 nginx.conf 파일을 수정 후에 nginx 도커 이미지를 다시 빌드하셨는지요? nginx 쪽은 저희가 디렉토리를 마운트하는 방식으로 도커파일을 작성하지 않고, nginx.conf를 도커 이미지에 복사하도록 작성해두어서, nginx.conf를 수정후 이미지를 새롭게 빌드하지 않는 경우, 이전 이미지로 구동되기 때문에 nginx.conf가 반영되지 않습니다. Nginx.conf를 수정할 경우가 빈번하지 않아서 이렇게 설정파일을 이미지에 빌드하는 과정에 주입하도록 작성해두었습니다.

인증서 디렉토리를 체크하는 과정은 nginx 컨테이너에 접속하여 디렉토리를 체크하신 것이지요? 책을 따라 작업을 하셨으면, 아시겠지만, 프로젝트 폴더 아래 data/certbot/conf에서 인증서 파일을 확인하실 수 있습니다.

혹시 다른 에러메시지가 있으면, 같이 알려주세요. 현재로서는 에러메시지가 많지 않아서, 어느 부분에서 문제가 발생하였는지 바로 도와드리기가 어렵습니다. 설정 파일 보내주시면, 살펴보고 답변드릴게요.


Updated: March 24, 2021, 9:38 a.m.

taegon
taegon   3 years, 7 months ago

독자님께서 이메일로 관련 이슈가 해결되었다고 알려주셨습니다.

Updated: March 30, 2021, 3:17 a.m.

dldydwn156
dldydwn156   3 years, 7 months ago

어떤게 문제였는지 알 수 있을까요? 저도 비슷한 증상 겪다가 결국 백업하고 도메인만 연결해논 상태입니다 ㅜㅡㅜ

Updated: April 1, 2021, 10:33 a.m.

taegon
taegon   3 years, 7 months ago

답변이 완료된 글이어서, 새로 답글이 달린지를 몰랐네요.

질문 주신 분 같은 경우, 위에 답변드린 것처럼 여러가지 방식으로 수정하여 다 고쳐진 상태였으나, 잦은 실패로 인증서발급 자체가 막힌 상태였습니다. (정확한 수치는 기억이 나지 않으나, 대략 5분에 3번까지 인증 실패하면, 7일동안 동일한 도메인으로 인증서 발급이 안됩니다.) 1주일 후에 다시 도메인을 발급받아서 정상적으로 서비스된다고 하셨습니다.

init-letsencrypt.sh 파일에서 staging=1으로 설정하고 작업하시면, 이런 문제는 피할 수 있습니다. 그리고 에러가 없이 인증서 발급이 되는 것을 확인하신 후에는 staging=0으로 고쳐주시고, init-letsencrypt.sh를 한번 다시 실행시켜주시고 나면, 정상적으로 인증서 발급이 되고, 신청하신 도메인으로 https가 서비스됨을 확인할 수 있습니다.

Updated: April 18, 2021, 11:38 a.m.

Leave a Comment:
목록보기
Search
  • 자유게시판
  • Q&A