아파치 https 추가 (feat.우분투 )

우진이·2024년 1월 2일

아파치 서버 ssl 적용하기

*openssl 설치및 인증서 발급후 아파치에 ssl 적용하기

1. OpenSSL 설치

$ sudo apt install openssl

우분투에 openssl 설치

2. CA 인증서 생성

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

3. Apache SSL 적용

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/*.*

4. VirtualHost 설정

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

5. SSL 반영 확인

a. 자신의 ip 접속
b. ip 앞의 http를 https로 변경
c. 고급 혹은 무시하며 접속

브라우저 별로 해당 https가 아예 접속이 안될수도 있고
고급 버튼 클릭 후 허용 접속하는 등의 차이가 있습니다.

이유는 ssl키가 개인이 만든 보안성이 인증 받지 못했기에
임시로 사용하기 위한 개인 인증키로 사용되는것입니다.
실제 서비스를 위해서는 ssl키를 구매해서 사용해야합니다.
profile
나만의 플랫폼을 만들어 보자

0개의 댓글