Skip to content
웹서버,WAS
2021.01.12 03:02

[Linux] 아파치(Apache) SSL 인증서 설치

조회 수 16 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

아파치(Apache) SSL 인증서 설치

www.ssls.com에서 SSL인증서 구입해서 CentOS에서 설치해보자.

https://www.ssls.com/ssl-certificates/comodo-positivessl

Comodo PositiveSSL 인증서 가격은 3년에 $14.97로 1년에 $4.99이며 sub 도메인은 지원하지 않는다.

인증서 구매

인증서 구매를 위해 ssls.com에 접속한 뒤 우측의 카드 아이콘이 있는 버튼을 클릭해서 장바구니에 담는다.

 

CentOS SSL 인증서 생성  010.png

 

CHECKOUT버튼을 클릭해서 카드 또는 paypal로 구매를 진행한다.

 

CentOS SSL 인증서 생성  011.png

 

구매를 진행하면 인증서 발급을 위해 CSR을 넣는 화면이 보인다.

 

CentOS SSL 인증서 생성  001.png

 

CSR파일 생성

CSR파일은openssl 명령어를 이용해서 CSR 파일을 생성한다.

아래 명령어에서 site-domain는 naver.com과 같은 도메인 이름을 입력해야한다.

Country, State 등 키 생성에 사용될 정보를 입력하고 challenge password와 optional company name은 엔터키를 눌러 빈 값으로 입력한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# openssl req -new -newkey rsa:2048 -nodes -keyout site-domain.key -out site-domain.csr
Generating a 2048 bit RSA private key
............................................+++
..............................................................................................................................................................................
Country Name (2 letter code) [XX]:KR
State or Province Name (full name) []:Gyeonggi-do
Locality Name (eg, city) [Default City]:Ansan-si
Organization Name (eg, company) [Default Company Ltd]:Bonmade Ltd
Organizational Unit Name (eg, section) []:dev team
Common Name (eg, your name or your server's hostname) []:site-domain
Email Address []:appmania78@gmail.com
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

정보를 모두 입력하면 csr파일과 key파일이 생성된다.

1
2
3
4
5
#ls -l
합계 44
-rw-------. 1 root root 1305  8월 10  2015 anaconda-ks.cfg
-rw-r--r--  1 root root 1078  8월 17 15:45 site-domain.csr
-rw-r--r--  1 root root 1704  8월 17 15:45 site-domain.key

csr파일은 ssls.com에 등록하고 key파일은 아파치 서버에 업로드해야 되므로 잘 보관한다.

csr파일의 내용을 복사해서 ssls.com에 입력한다. ------BEGIN 부터 ------END라인까지 모두 붙여 넣는다.

CentOS SSL 인증서 생성  002.png

 

인증서에는 www가 붙는 도메인과 안붙는 도메인을 모두 지원한다.

CentOS SSL 인증서 생성  004.png

 

서버가 톰캣인지 아닌지 선택한다.

아파치에 설치 예정이므로 아래 항목을 선택한다.

CentOS SSL 인증서 생성  003.png

 

도메인을 소유 확인 방법을 파일업로드로 이메일방법 중에서 파일업로드를 선택한다.

CentOS SSL 인증서 생성  005.png

 

다음은 도메인을 소유하고 있다는 것을 증명하기 위해서 파일을 업로드해야한다.

먼저 우측상단의 SAVE ACTIVATION FILE을 클릭해서 text파일을 다운로드 받고 다운받을 파일을 소유하고 있는 도메인의 파일 서버에 .well-known/pki-validation 폴더를 만들고 업로드한다.

CentOS SSL 인증서 생성  006.png

 

site-domain/.well-known/pki-validation/다운받은 text파일명을 입력하면 text 파일 내용이 보이는지 확인한다.

CentOS SSL 인증서 생성  007.png

 

이제 좀 기다리면 메일로 SSL 인증 파일이 메일로 전송된다.

CentOS SSL 인증서 생성  008.png

 

메일로 전송된 압축파일을 보면 인증 파일에 필요한 ca-bundle과 crt파일이 포함되어있다.

CentOS SSL 인증서 생성  009.png

 

httpd.conf 파일 수정

httpd.conf 파일을 수정해서 인증서를 등록한다.

443 포트를 추가하고 메일로 받은 두 개의 파일과 csr 생성할 때 만들어진 site-domain.key 파일을 업로드한 경로를 아래와 같이 추가한다.

1
#vi /etc/httpd/conf/httpd.conf
1
2
3
4
5
6
7
8
<VirtualHost *:443>
   DocumentRoot /var/www/html/webfile
   ServerName www.site-domain
   SSLEngine on
   SSLCertificateFile /etc/httpd/conf/ssl/quote-plus_com.crt
   SSLCertificateKeyFile /etc/httpd/conf/ssl/quote-plus.com.key
   SSLCertificateChainFile /etc/httpd/conf/ssl/quote-plus_com.ca-bundle
</VirtualHost>

443 Port Listen 확인

https는 443 포트를 사용하므로 443 Port를 httpd가 Listen하고 있는지 netstat 명령어로 확인해야한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1444/master        
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1466/mysqld        
tcp        0      0 0.0.0.0:1202            0.0.0.0:*               LISTEN      20783/sshd         
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      12315/dnsmasq      
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      31941/cupsd        
tcp6       0      0 ::1:25                  :::*                    LISTEN      1444/master        
tcp6       0      0 :::80                   :::*                    LISTEN      8184/httpd         
tcp6       0      0 :::1202                 :::*                    LISTEN      20783/sshd         
tcp6       0      0 :::21                   :::*                    LISTEN      11236/vsftpd       
tcp6       0      0 ::1:631                 :::*                    LISTEN      31941/cupsd    

443포트를 Listen하고 있지 않다면 openssl과 mod_ssl을 설치 되어 있는지 확인한다.

 

1
2
# yum list installed openssl
# yum list installed mod_ssl

설치되어 있지 않는 모듈을 설치하고 아파치를 재시직한다.

 

1
2
3
#yum -y install openssl
#yum -y install mod_ssl
#service httpd restart

다시 netstat 명령어로 확인하면 443포트를 Listern하고 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1444/master        
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1466/mysqld        
tcp        0      0 0.0.0.0:1202            0.0.0.0:*               LISTEN      20783/sshd         
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      12315/dnsmasq      
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      31941/cupsd        
tcp6       0      0 ::1:25                  :::*                    LISTEN      1444/master        
tcp6       0      0 :::443                  :::*                    LISTEN      8654/httpd         
tcp6       0      0 :::80                   :::*                    LISTEN      8654/httpd         
tcp6       0      0 :::1202                 :::*                    LISTEN      20783/sshd         
tcp6       0      0 :::21                   :::*                    LISTEN      11236/vsftpd       
tcp6       0      0 ::1:631                 :::*                    LISTEN      31941/cupsd        
[root@localhost ~]#

httpd 재시작 오류 해결

httpd.conf 파일 수정하고 서비스를 재시작하는 단계에서 아래와 같은 오류가 발생 했다면 systemctl status httpd.service 명령어로 원인을 확인 할 수 있다.

주로 인증서 파일의 경로가 잘못 됐을 때 발생한다.

1
2
3
# service httpd restart
Redirecting to /bin/systemctl restart  httpd.service
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 목 2017-08-17 18:34:30 KST; 5s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 9766 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
  Process: 9764 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 9764 (code=exited, status=1/FAILURE)
 
 8월 17 18:34:30 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
 8월 17 18:34:30 localhost.localdomain httpd[9764]: AH00526: Syntax error on line 202 of /etc/httpd/conf/httpd.conf:
 8월 17 18:34:30 localhost.localdomain httpd[9764]: SSLCertificateKeyFile: file '/etc/ssl/crt/site-domain.key' does not exist or is empty
 8월 17 18:34:30 localhost.localdomain systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
 8월 17 18:34:30 localhost.localdomain kill[9766]: kill: cannot find process ""
 8월 17 18:34:30 localhost.localdomain systemd[1]: httpd.service: control process exited, code=exited status=1
 8월 17 18:34:30 localhost.localdomain systemd[1]: Failed to start The Apache HTTP Server.
 8월 17 18:34:30 localhost.localdomain systemd[1]: Unit httpd.service entered failed state.
 8월 17 18:34:30 localhost.localdomain systemd[1]: httpd.service failed.

https 테스트 및 인증서 확인

서비스를 다시 시작하고 브라우저에서 https로 접속하면 인증된 사이트로 표시된다.

1
# service httpd restart

CentOS SSL 인증서 생성  012.png

 

이제 설치된 인증서를 확인하자.
크롬에서 F12를 클릭해서 개발자도구를 열고 Security 탭의 View certificate 버튼을 클릭하면 인증서를 확인 할 수있다.

CentOS SSL 인증서 생성  013.png

 

인증서에서 유효기간을 확인하고 만료전에 갱신하자

CentOS SSL 인증서 생성  014.png

 

http 리다이렉트

http를 https로 리다이렉트하려면 .htaccess 파일을 만들고 아래 코드를 추가한다.
httpd.conf에 추가하면 된다는 정보도 있으나 잘 동작하지 않아서 .htaccess에 추가했다.

1
2
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

참고 URL

http://egloos.zum.com/guswl47/v/6514311

https://www.instantssl.com/ssl-certificate-support/cert_installation/ssl-certificate-mod_ssl.html

https://wiki.kldp.org/HOWTO/html/SSL-RedHat-HOWTO/ssl-redhat-howto-4.html

 

출처 : http://blog.devez.net/402

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.17 829506
2627 취업 경력직이 이직시 자신을 어필하는 법 file JaeSoo 2021.04.14 11
2626 취업 사학연금 수령조건 file JaeSoo 2021.04.14 9
2625 취업 주요 4년제 대학교 교직원 연봉 정리(연봉 서열) file JaeSoo 2021.04.13 11
2624 취업 병원별 특징 정리 JaeSoo 2021.04.13 10
2623 인터넷 토랭이(torrent) 하면서 알게된 트래커(tracker) 상태 유형 1 JaeSoo 2021.04.12 104
2622 소프트웨어 팟플레이어 광고 제거 방법 (팟플레이어 광고없는 버전 제공) - 다음팟 플레이어 윈도우 하단 광고 팝업창 안뜨게 없애는 방법 file JaeSoo 2021.02.28 18
2621 경제 체험단사이트 순위 JaeSoo 2021.02.15 11
2620 모바일 LineageOS 올리는 방법 (feat. 노트 10.1 2014 에디션) file JaeSoo 2021.02.12 32
2619 모바일 노트 10.1 2014 에디션 - 마시멜로 6.0.1 터치위즈 기반 커스텀롬 file JaeSoo 2021.02.12 16
2618 취미 루비(Rouvy)로 가상 라이딩하는 방법 및 화면 설명 (미 동부지역 라이딩?) file JaeSoo 2021.02.06 16
2617 취미 [Rouvy] 실사동영상을 이용한 실감나는 가상라이딩 프로그램 file JaeSoo 2021.02.06 23
2616 모바일 노트 10.1 2014에디션 - 롤리팝 5.1.1 펌웨어 업그레이드 방법 file JaeSoo 2021.02.03 51
2615 경제 [연말정산 가이드⑦] 기부금 세액공제, 잘 받는 노하우는? 영수증 꼭꼭 챙기기! file JaeSoo 2021.01.30 122
2614 경제 2021년도 연말정산 기간, 일정 완벽정리 (준비부터 환급 및 추가신고까지) file JaeSoo 2021.01.30 9
2613 경제 "연말정산 간소화 서비스만 믿다간 놓친다"…직접 챙겨야 할 자료는 file JaeSoo 2021.01.25 11
2612 윈도우즈 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!) file JaeSoo 2021.01.19 9
2611 소프트웨어 [Synology NAS] 레이 드라이브(RaiDrive)에 연동하여 서버에 쉽게 접근하기 file JaeSoo 2021.01.14 10
2610 윈도우즈 LG 그램 OS 설치 안될때 USB 설치 방법 file JaeSoo 2021.01.13 14
» 웹서버,WAS [Linux] 아파치(Apache) SSL 인증서 설치 file JaeSoo 2021.01.12 16
2608 웹서버,WAS 리눅스 CentOS 7 HTTPS 리다이렉트 설정 file JaeSoo 2021.01.12 8
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 135 Next
/ 135

 

■ 즐겨찾기 - 가족
JAESOO's HOMEPAGE YOUNGAE's HOMEPAGE 장여은 홈페이지 장여희 홈페이지 장여원 홈페이지

■ 즐겨찾기 - 업무
알리카페 홀릭 숭실대 컴퓨터 통신연구실 (서창진) 말레이시아 KL Sentral 한국인 GuestHouse

■ 즐겨찾기 - 취미
어드민아이디 유에코 사랑회 아스가르드 좋은사람/나쁜사람 JServer.kr 제이서버 메타블로그 재수 티스토리

■ 즐겨찾기 - 강의, 커뮤니티
재수 강의 홈페이지 한소리 VTMODE.COM 숭실대 인공지능학과 숭실대 통신연구실


PageViews   Today : 1,401   Yesterday : 12,907   Total : 65,251,267  /  Counter Status   Today : 260   Yesterday : 694   Total : 4,255,230
Site Info   Member : 1,466  /  Total documents : 8,164   New documents : 0  /  Total comments : 565

design by by JAESOO.com

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소