[AWS]HTTPS 서버 통신방법

힐링힐링·2024년 9월 11일
0

상황

EC2와 RDS를 적용시키고, 도메인을 발급 받은상황에서
서버 통신을위해 HTTPS를 사용하려고 한다.

방법

1. DNS 레코드 설정

도메인에 등록된 호스팅관련하여 레코드를 추가한다.
레코드 유형은 A
레코드 이름 앞에 api, 값은 ec2에 연결된 퍼블릭 or 탄력적 IP

2.Certbot 설치 (Let's Encrypt SSL 인증서 발급 도구) 아파치 용도

ubuntu용

sudo apt install certbot python3-certbot-apache

3. Certbot을 이용한 SSL 인증서 발급 및 자동 설정

sudo certbot --apache -d 레코드이름

4. 자동갱신 설정

sudo certbot renew --dry-run

서버 재시작

sudo systemctl restart apache2

5. 아파치 모듈 활성화

리버스 프록시를 설정하려면 Apache에 필요한 모듈을 활성화해야 합니다. 다음 명령을 사용하여 리버스 프록시에 필요한 모듈을 활성화합니다.

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod ssl

6. Apache 가상 호스트 설정 수정:

sudo nano /etc/apache2/sites-available/000-default-le-ssl.conf

SSL인증서가 다운되었기에 SSLCertificateKeyFile ~~ 코드 밑에
리버스 프록시를 설정한다.

<VirtualHost *:443>
    ServerName api.cloudengineering.store

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/api.cloudengineering.store/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/api.cloudengineering.store/privkey.pem

    # 리버스 프록시 설정
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo systemctl restart apache2

기존에 있는 3000번 포트가 443으로 프록시되면서 3000포트를 안넣어도 된다.

profile
블로그 이전합니다 https://james-kim-tech.tistory.com/

0개의 댓글