메뉴 건너뛰기

자료실

DATA

아파치2(Apache2) SSL HTTPS 적용하기

소프터 2020.03.25 11:03 조회 수 : 4


서버환경: Ubuntu 16.04(xenial), Apache2, PHP7

홈페이지에 들어가면 뜨는 아래의 문구가 계속 거슬렸다 ㅋㅋ
이걸 없애려면 Https로 접속을 시켜야 한다.





HTTPS로 접속하기 위해선 SSL 인증서가 필요!
이 SSL 인증서를 아파치 및 도메인에 설정해줘야 한다. 그런데 대부분 SSL 인증서가 유료다.
그 중 Encrypt에서 무료로 SSL 인증서를 발급해 준다는 것을 알아냈다.

Encrypt 홈페이지에 들어가 보면 Certbot 이라는 프로그램을 통해 자동으로 SSL을 적용하기를 권한다.
하지만 나는 어떻게 돌아가는지 알고 싶어서 수동으로 적용하기로 했다.

1. SSL 인증서 다운받기


먼저 apt-get 업데이트를 한 번 해주고 letsencrypt를 설치해준다.

$ sudo apt-get update $ sudo apt-get install letsencrypt



그다음 SSL 인증서를 받기 위한 명령어를 쳐야 하는데,
이 명령어가 실행될 때 80포트를 사용하기 때문에 80포트를 비워줘야 한다.
아파치가 기본적으로 80포트에 물려 있기 때문에 아파치를 꺼준다.

$ sudo service apache2 stop

현재 사용 포트 확인은

$ netstat -ant



80포트가 없는 걸 확인 후 인증서를 받는 명령어를 친다.

$ sudo letsencrypt certonly --standalone -d hwanstore.ml



이메일을 입력하고 Agree를 하면
아래와 같이 나온다.
/etc/letsencrypt/live/hwanstore.ml 디렉터리에 인증서가 저장되었다고 한다.

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/hwanstore.ml/fullchain.pem. Your cert will expire on 2017-06-03. To obtain a new version of the certificate in the future, simply run Let's Encrypt again. - If you like Let's Encrypt, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le //해당 경로로 가보면 인증서 관련 파일들이 만들어져 있다. root@ubuntu:/etc/letsencrypt/live/hwanstore.ml# ls cert.pem chain.pem fullchain.pem privkey.pem



80포트 사용이 끝났으니 다시 아파치를 실행시켜 준다.

$ sudo service apache2 start


 

2. 아파치에 SSL 인증서 설정하기

ssl 사용을 하겠다고 명시

$ sudo a2enmod ssl



아래 경로로 이동

$ cd /etc/apache2/sites-available



default-ssl.conf 파일을 원하는 이름으로 복사!

$ cp default-ssl.conf hwanstore.ml-ssl.conf



문서 편집기로 해당 파일을 열어서 수정을 해준다.
전체 내용이 너무 길어서 바꾼 부분만 쓴다. (주석 해재 후 수정)

$ sudo nano hwanstore.ml-ssl.conf //문서 편집기로 파일 열기 ServerAdmin ameeuk@gmail.com ServerName hwanstore.ml ServerAlias hwanstore.ml DocumentRoot /var/www/test //웹문서 경로 SSLEngine on //SSL 인증서 명시 SSLCertificateFile /etc/letsencrypt/live/hwanstore.ml/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/hwanstore.ml/privkey.pem



a2ensite 명령어로 방금 수정한 파일을 site에 등록 후 아파치 재시작

$ sudo a2ensite hwanstore.ml-ssl.conf $ sudo service apache2 restart



그리고 나서 https://hwanstore.ml로 접속하면!
우왕! 녹색 자물쇠와 함께 안전함!




추가로, http로 접속을 해도 https로 접속되게 만드려면
VirtualHost 설정에서
Redirect permanent / https://hwanstore.ml 을 추가해주면 된다.

<VirtualHost *:80> ServerName hwanstore.ml DocumentRoot /var/www/test Redirect permanent / https://hwanstore.ml/ <Directory /var/www/test/> Options Indexes FollowSymLinks MultiViews AllowOverride All </Directory> </VirtualHost>

 

 

https://m.blog.naver.com/PostView.nhn?blogId=ameeam&logNo=220950594646&proxyReferer=https%3A%2F%2Fwww.google.com%2F [출처]