*openssl 설치및 인증서 발급후 아파치에 ssl 적용하기
$ sudo apt install openssl
우분투에 openssl 설치
a. private key 생성
$ openssl genrsa -des3 -out server.key 2048
Enter pass phrase for server.key : (password 등록)
openssl을 이용하여 서버키 생성
b. CSR 인증요청서 생성
$ openssl req -new -days 365 -key server.key -out server.csr
Enter pass phrase for server.key: (private key password)
위 입력시 추가 입력 사항들 전부 무시하고 엔터로 입력해도 무관합니다.
b-1. 개인키 password 제거 (*편의성)
개인키의 패스워드가 있다면, 아파치 구동 시마다 입력해야하기 때문에 편의상 제거를 합니다.
-> 서버 활성화시, ssl 키 비밀번호를 입력 생략가능
$ sudo cp server.key server.key.backup
$ sudo openssl rsa -in server.key.backup -out server.key
Enter pass phrase for server.key.backup: (private key password)
c. 자체서명 인증서 생성
- server.key + server.csr 를 이용하여 인증서 요청
$ sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
d. 인증서 확인
$ ls -l server*
$ openssl x509 -in server.crt -text
a. SSL 모듈 enable
$ sudo a2enmod ssl
b. 편의를 위한 SSL 전용 디렉토리 생성
$ sudo mkdir /etc/apache2/ssl
c. 생성한 인증서 복사
$ sudo cp server* /etc/apache2/ssl/
d. 보안을 위해 소유권 및 권한 변경
$ sudo chown -R root:root /etc/apache2/ssl
$ sudo chmod 700 /etc/apahce2/ssl
$ sudo chmod 600 /etc/apache2/ssl/*.*
a. 디렉토리 변경
$ cd /etc/apache2/sites-available
b. 'default-ssl.conf' 를 사용 할 도메인 명으로 복사
$sudo cp default-ssl.conf example-ssl.conf
c. 'example-ssl.conf' 수정
$ sudo vi example-ssl.conf
vi 명령어 (* 참조)
아래의 내용 주석 해제 및 수정
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
d. 'example-ssl.conf' enable
$ sudo a2ensite example-ssl.conf
e. 아파치 재시작
$ sudo service apache2 restart
a. 자신의 ip 접속
b. ip 앞의 http를 https로 변경
c. 고급 혹은 무시하며 접속
브라우저 별로 해당 https가 아예 접속이 안될수도 있고
고급 버튼 클릭 후 허용 접속하는 등의 차이가 있습니다.
이유는 ssl키가 개인이 만든 보안성이 인증 받지 못했기에
임시로 사용하기 위한 개인 인증키로 사용되는것입니다.
실제 서비스를 위해서는 ssl키를 구매해서 사용해야합니다.