리눅스 NginX 워드프레스에 HTTPS SSL 무료 인증서 적용하기

동영상

아파치에 Let’s Encrypt 무료 인증서를 내려받을 수 있었던 것처럼 마찬가지로 NginX에도 Let’s Encrypt 무료 인증서를 발급받고 적용할 수 있습니다. 인증서를 내려받는 방법은 같지만 conf 파일에 대한 설정 방법에는 다소 차이가 있을 수 있어 이번 포스트를 발행합니다.

우선 대략적인 방법은 아파치에 적용하는 방식과 같습니다. SSH 터미널을 통해 ‘certbot-auto’를 내려받고 설치한 후 conf 파일을 수정해주는데 아파치에서도 동일하게 적용했던 것처럼 파일 키를 교체해주시면 됩니다.

방법은 어렵지 않습니다.

 

 

NginX 무료 보안 인증서 발급받기

리눅스 터미널의 루트 권한에 접속해봅니다. 만약 루트 권한에 대한 진입 방법을 알지 못하는 경우 이곳을 클릭하여 참고하도록 하고 리눅스 터미널에 접속하는 방법은 Putty를 설치한 후 호스팅사에 문의하도록 합니다. 일부 호스팅사에서는 SSH 터미널의 접속을 제한하기도 합니다. 아마존 라이트세일은 이곳을 참고하면 됩니다.

 

certbot-auto 파일 다운로드

루트 권한에서 tmp라는 폴더를 만들고 tmp 경로로 이동하기 위해 아래와 같은 명령어를 순차적으로 입력하도록 합니다.

mkdir tmp
cd tmp

 

아래 명령어는 certbot-auto 파일을 다운로드하고 실행 권한을 부여하기 위해 사용하는 명령어입니다. 루트 권한에서는 권한을 설정할 필요가 없지만 루트 권한에 진입하지 못했다면 아래처럼 chmod 명령어를 이용하여 실행 권한을 설정해주어야 합니다.

 wget https://dl.eff.org/certbot-auto
 chmod a+x certbot-auto

 

다음으로는 ‘certbot-auto’ 파일을 설치하도록 하겠습니다. 명령어 형식은 다음과 같습니다.

./certbot-auto certonly --webroot -w /루트경로/ -d www.도메인.com -d 도메인.com

 

이 과정에서 www를 포함한 도메인, www를 제외한 도메인 모두를 DNS를 통해 등록한 후 위 명령어를 입력시켜주셔야 합니다.

‘루트 경로’는 워드프레스 혹은 도메인으로 진입할 수 있는 경로를 뜻하며 이 강좌에서는 라이트세일을 사용하고 있기 때문에 라이트세일의 루트경로인 ‘/opt/bitnami/nginx/html/’을 입력하도록 하겠습니다.

 

 

설치 도중 이메일 수집과 동의 관련 메시지가 표시되는데 이 부분은 모두 동의해주시면 됩니다.

이제 아래 명령어를 통해 NginX를 재부팅시켜주시면 설치는 마무리됩니다.

sudo /opt/bitnami/ctlscript.sh restart  // 라이트세일 비트나미

혹은

service nginx restart

혹은

service nginx reload

 

재부팅 방법은 상이할 수 있습니다.

 

CONF 파일 수정하기

다음은 conf 파일을 수정하여 키를 Nginx와 연결하도록 하겠습니다.

인클루드되는 상황을 제외하고는 nginx.conf 파일을 수정해주시면 되고 라이트세일 Nginx의 경우 bitnami.conf 파일을 수정해주시면 됩니다. FTP를 통해서 수정해주셔도 상관이 없고 conf 파일의 경로를 알고 있다면 SSH에서 직접 수정해주셔도 됩니다.

저는 SSH를 통해 수정하도록 하겠습니다.

sudo vi /conf파일경로/nginx.conf

라이트세일의 경우

sudo vi /opt/bitnami/nginx/conf/bitnami/bitnami.conf

 

위 명령어로 접속하시면 됩니다.

 

 

ssl_certificate /etc/letsencrypt/live/첫번째도메인/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/첫번째도메인/privkey.pem;

대부분 키 정보는 위와 같은 경로에 담겨있습니다. HTTPS server 영역에 ssl_certificate와 ssl_certificate_key를 주석 처리한 후 새로 작성하거나 그대로 붙여 넣어주시면 되고 이 과정에서 ‘첫번째도메인’이라고 하는 부분은 앞서 certbot-auto를 설치했을 때 ‘-d’ 다음 첫 번째로 입력했던 도메인 주소입니다.

이 강좌에서는 ‘www.iiiiicon.com’이 되겠네요.

이제 nginx를 재부팅시켜주신 후 http로 시작하는 도메인을 https로 리다이렉트 시켜주시면 사용이 가능합니다.

워드프레스에서는 ‘설정 – 일반’의 워드프레스 주소와 사이트 주소를 https로 시작하시면 됩니다.

 

적용이 되지 않을 경우

적용이 되지 않을 경우 경로 문제로 제대로 세팅이 되지 않았을 가능성이 큽니다. 위 강좌에서 주의해야 할 부분은 conf 파일에 ‘fullchain.pem’ 경로와 ‘privkey.pem’ 경로가 제대로 설정되어있는지 확인해야 합니다. FTP를 통해 ‘/etc/letsencrypt’ 경로로 진입한 후 live 폴더가 있는지 확인하는데 만약 live 폴더가 존재하지 않는다면 DNS가 제대로 연동되어있는지 확인이 필요합니다.

예를 들어 www.iiiiicon.com 주소는 DNS를 연결했지만 iiiiicon.com 주소는 DNS를 연결하지 않았다면 도메인 검증 실패로 설치 과정에서 live 폴더가 생성되지 않을 수 있습니다. 또한 리눅스를 재부팅시키지 않았어도 live 폴더가 생성되지 않을 수 있습니다. 이 부분은 스스로 확인하신 후 설치를 다시 시도해보시기 바라며 해결이 되지 않는다면 아이콘 포스트 자유게시판을 통해 문의해주시면 해결을 도와드리도록 하겠습니다.

이 게시글은 4개 답변과 3명 참여가 있으며 마지막으로  아이콘 포스트에 의해 1 주, 1 일 전에 업데이트 됐습니다.

5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 글쓴이
  • #35052

    “리눅스 NginX 워드프레스에 HTTPS SSL 무료 인증서 적용하기” 게시물에 대한 토론

    [원문 포스트 보기 : 리눅스 NginX 워드프레스에 HTTPS SSL 무료 인증서 적용하기]

    #35053

    강물

    안녕하세요.
    아마존 라이트세일에 리눅스 Ngnix 워드프레스 Https SSL무료 인증서 bitnami conf파일 수정부분에서

    sudo vi /opt/bitnami/nginx/conf/bitnami/bitnami.conf 접속후
    주석처리, ssl_certificate.. 다음에

    # HTTPS SERVER 주석 아래에 다음을 추가한다.
    location /{
    root html;
    index index.php;
    try_files $uri/ /index.php?q=$suir&args;
    }
    위 부분을 추가해야 하는지, 추가하며 어디에 추가하는지 상세하게 알려주시며 감사 하겠습니다.

    #35054

    강물

    해결했습니다.. 제가 착각을 하였네요 고유주소에서 이미 변경되었네요.

    #38708

    운영자님 라이트세일 엔진엑스에 그누보드를 설치했는데요

    무료 SSL인증서를 설치하려고 하는데 위의 무료인증서는 워드프레스만 해당하는 건가요? 아님 다른 사이트도 적용이 가능한가요?

     

    감사합니다.

    #38715

    모두 가능합니다.

    🙂

5 글 보임 - 1 에서 5 까지 (총 5 중에서)

답변은 후 가능합니다. 회원가입을 진행해보세요!

error: 작업 속도가 너무 빠릅니다.