내용으로 건너뛰기

Amazon EC2 Linux Ubuntu 인스턴스에 웹 사이트용 SSL/TLS 인증서를 설치하려면 어떻게 해야 합니까?

2분 분량
0

Apache 서버를 호스팅하는 Amazon Elastic Compute Cloud(Amazon EC2) Ubuntu 인스턴스에 자체 서명된 SSL/TLS 인증서를 설치하려고 합니다.

해결 방법

전제 조건: 포트 80 및 443에서 인스턴스의 보안 그룹이 트래픽을 허용하는지 확인하십시오.

Apache 및 OpenSSL 웹 서버 설치

서버에 Apache 및 OpenSSL을 설치하려면 다음 명령을 실행합니다.

sudo apt-get install apache2 openssl -y

자체 서명된 인증서 생성

다음 단계를 완료하십시오.

  1. SSL/TLS는 퍼블릭 키와 프라이빗 키를 모두 사용합니다. 도메인의 프라이빗 키와 CSR(인증서 서명 요청)을 만들려면 다음 명령을 실행합니다.

     sudo openssl req -nodes -newkey rsa:2048 -keyout /etc/ssl/private/private.key -out /etc/ssl/private/request.csr
  2. SSL/TLS 인증서를 생성하려면 다음 명령을 실행합니다.

     sudo openssl x509 -in /etc/ssl/private/request.csr -out /etc/ssl/private/certificate.crt -req -signkey /etc/ssl/private/private.key -days 365

이제 Apache 웹 서버에서 키(private.key) 및 인증서(certificate.crt) 파일을 사용할 수 있습니다.

SSL/TLS를 사용하도록 Apache 구성

만든 자체 서명된 인증서를 사용하도록 Apache를 구성하려면 다음 단계를 완료하십시오.

  1. 다음 명령을 실행하여 기본 Apache SSL 구성 파일을 엽니다.

    sudo vi /etc/apache2/sites-available/default-ssl.conf
  2. 다음 경로를 사용하여 SSL 인증서의 위치를 정의합니다.
    SSLCertificateFile의 경우 /etc/ssl/private/certificate.crt를 사용합니다.
    SSLCertificateKeyFile의 경우 /etc/ssl/private/private.key를 사용합니다.

  3. 파일을 저장하고 닫습니다. 그 후 다음 명령을 실행하여 가상 호스트 파일을 활성화합니다.

    sudo a2ensite default-ssl.conf
  4. Apache의 기본 가상 호스트 구성 파일을 열려면 다음 명령을 실행합니다.

    sudo vi /etc/apache2/sites-available/000-default.conf
  5. 도메인 이름에 리디렉션을 추가하려면 etc/apache2/sites-available/000-default.conf 파일에 다음 줄을 추가합니다.

    Redirect "/" https://Server-IP

    참고: Server-IP를 서버 IP 주소로 바꾸십시오. DocumentRoot 줄 뒤에 위의 줄을 입력하는 것이 가장 좋습니다. 리디렉션은 모든 트래픽을 사이트의 SSL/TLS 버전으로 전달합니다.

  6. SSL/TLS 및 헤더 모듈을 활성화하려면 다음 명령을 실행합니다.

    sudo a2enmod ssl
    sudo a2enmod headers
  7. 다음 명령을 실행하여 Apache 서비스를 다시 로드하고 수정 사항을 적용합니다.

    sudo systemctl reload apache2

SSL/TLS 서버 확인

다음 단계를 완료하십시오.

  1. 웹 브라우저를 시작합니다.
  2. https://Server-IP를 엽니다.
    참고: Server-IP를 서버 IP 주소로 바꾸십시오. 웹 브라우저가 경고 페이지로 리디렉션합니다. 신뢰할 수 있는 인증 기관이 인증서에 서명하지 않았기 때문에 이러한 동작이 발생할 수 있습니다.
  3. Proceed to Host(호스트로 진행)를 선택하여 Apache 홈 페이지를 엽니다. 브라우저 주소 표시줄에 안전하지 않음이라는 자물쇠가 표시됩니다. 이는 인증서가 검증되지 않았지만 연결을 암호화한다는 것을 나타냅니다.

Red Hat Enterprise Linux(RHEL) 또는 Community Enterprise Linux에서 SSL/TLS를 구성하는 방법에 관한 자세한 내용은 Red Hat 웹 사이트에서 HTTPS를 사용하도록 웹 서버 설정을 참조하십시오. 또는 Amazon Linux를 사용하는 경우 Amazon Linux 1(AL1), Amazon Linux 2(AL2) 또는 Amazon Linux 2023(AL2023)의 SSL/TLS 구성을 참조하십시오.

AWS 공식업데이트됨 10달 전