사용자 도구

사이트 도구


os:ubuntu:letsencrypt

letsencrypt

letsencrypt 설치

  1. letsencrypt 설치
    # apt-get update ; apt-get dselect-upgrade -f fix-missing upgrade 
    # apt-cache search letsencrypt 
    # apt-get install letsencrypt
    # apt-cache show letsencrypt
  2. ubuntu 는 certbot 를 이용한다.

certbot PPA

  1. APT Repository 에 certbot PPA 추가한다. (선택옵션)
    # add-apt-repository ppa:certbot/certbot
  2. APT Repository 에서 certbot PPA 삭제방법
    # add-apt-repository --remove ppa:certbot/certbot
  3. 관련 패키지들까지 한꺼번에 제거하고 싶을때
    1. ppa-purge 패키지 설치
      # apt-get install ppa-purge 
    2. 관련 패키지 삭제
      # ppa-purge ppa:certbot/certbot 

letsencrypt 인증서 발급

  1. letsencrypt 인증서 생성은 http(port 80)를 통해서 이루어진다.
    http로 접근시 https로 redirection 되어 있다면 설정을 해제하고 시작한다.
  2. 인증서 생성 ( letsencrypt 명령어 대신 certbot 명령어를 사용해도 된다 )
    # letsencrypt certonly --webroot -w /home/admin/tomcat8_ecp/webapps/ -d ecp.adminschool.net
    1. [webroot] 웹인증 방식 선택
    2. [w 경로] 에 임시로 파일을 생성하고 letsencrypt 사이트 인증프로그램이 이 파일을 접근할 수 있으면
    3. [d 도메인] 인증을 한다

Rate Limits 정책

  1. 인증서 갱신에 제한횟수가 존재한다.
  2. 첫번째 시도에서 에러가 뜨면서 진행이 막히면 –dry-run 옵션을 붙여서 통과할 때까지 TEST한 다음 테스트 통과하면, –dry-run 옵션을 빼고 정식으로 진행하는 것이 좋다.
  3. –dry-run 옵션은 certonlyrenew 명령하고만 함께 사용할 수 있는 옵션이다.
  4. 아래의 메세지가 나타나면 TEST가 성공한 것입니다
    # letsencrypt certonly --webroot -w /home/admin/tomcat8_ecp/webapps/ -d ecp.adminschool.net --dry-run
    ...
    IMPORTANT NOTES:
     - The dry run was successful.

인증서 폐기

  1. revoke 옵션으로 인증서를 폐기한다
    letsencrypt revoke --cert-path /etc/letsencrypt/archive/ecp.adminschool.net/cert1.pem 

TOMCAT 설정

  1. conf/server.xml
    1. Host name 수정
            <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
            <Host name="ecp.adminschool.net"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    2. 443 포트 설정
          <Connector port="443" 
                  protocol="org.apache.coyote.http11.Http11NioProtocol"
                  maxThreads="150" 
                  SSLEnabled="true" 
              >
              <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
              <SSLHostConfig>
                      <Certificate 
                              certificateKeyFile="/etc/letsencrypt/live/ecp.adminschool.net/privkey.pem"
                              certificateFile="/etc/letsencrypt/live/ecp.adminschool.net/cert.pem"
                              certificateChainFile="/etc/letsencrypt/live/ecp.adminschool.net/fullchain.pem"
                              type="RSA" />
              </SSLHostConfig>
          </Connector>
    3. redirectPort 포트 설정
          <Connector port="80" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="443" maxHttpHeaderSize="40000" />
  2. 만약 에러가 발생한다면 ${TOMCAT_HOME}/webapps/ 디렉토리 아래에 .well-known/acme-challenge 디렉토리를 생성한다.
    # mkdir -p .well-known/acme-challenge
  3. TOMCAT 서버를 위한 인증서를 생성한다
    # letsencrypt certonly --webroot -w /home/admin/tomcat8_ecp/webapps/ -d ecp.adminschool.net

참고링크

os/ubuntu/letsencrypt.txt · 마지막으로 수정됨: 2020/06/06 21:29 저자 starlits