CentOS 자체서명 서버 SSL 인증서 설치
- IT/리눅스(Linux)
- 2022. 8. 15.
CentOS에서 서버 SSL 인증서를 발급하고 설치하는 방법에 대해서 알아보겠습니다.
openssl 버전 확인
# openssl version
개인키 생성
# openssl genrsa -des3 -out server.key 2048
인증요청서 생성
# openssl req -new -key server.key -out server.csr
Country Name (2 letter code) [XX]: 국가코드(kr)
State or Province Name (full name) []: 시 이름(Seoul)
Locality Name (eg, city) [Default City]: 시/군/구(Ansan)
Organization Name (eg, company) [Default Company Ltd]:회사명(jcompany)
Organizational Unit Name (eg, section) []: 부서명(mod)
Common Name (eg, your name or your server's hostname) []: 서비스 도메인명 ( sample.com )
Email Address []:이메일 주소 (sample@naver.com)
(Optional) 개인키에서 패스워드 제거
# cp server.key server.key.origin
# openssl rsa -in server.key.origin -out server.key
writing RSA key 라고 나오면 완료
인증서 생성
# openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
인증서 생성 확인
개인키
# cat server.key | head -3
사설인증서
# cat server.crt | head -3
개인키와 인증서 설치
# cp server.key /etc/httpd/ssl/
# cp server.crt /etc/httpd/ssl/
httpd.conf 설정
# SSL Virtual host add
NameVirtualHost *:443
# SSL Virtual host add
<VirtualHost sample.com:443>
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/server.crt
SSLCertificateKeyFile /etc/httpd/ssl/server.key
ServerAdmin master@host.sample.com
DocumentRoot /home/sample/public_html
ServerName sample.com
ErrorLog logs/ssl_sample.com-error_log
CustomLog logs/ssl_sample.com-access_log common
</VirtualHost>
#Redirect
<VirtualHost *:80>
ServerAdmin master@host.sample.com
DocumentRoot /home/sample/public_html
ServerName sample.com
ServerAlias www.sample.com
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,L]
ErrorLog logs/host.sample.com-error_log
CustomLog logs/host.sample.com-access_log common
</VirtualHost>