CentOS 7 SSL 설치 및 웹 서버 SSL 인증서 설치
※ 배경
: 모해묵지의 온프레미스 서버가 생겨 세팅을 하던 도중
외부네트워크에서 HTTP를 통한 웹 서버 접속이 안되는 문제를 발견했다.
수많은 시도를 해본 결과, ISP에서 HTTP를 통한 INPUT 접속을 차단시킨것 같다.
그래서 HTTP 대신 HTTPS를 열어 적용시켰더니 443포트가 open됨을 알 수 있었다.
(80과 8080은 방화벽 설정을 아무리 해도 열리지 않았음)
※ 포트 열림 확인 사이트
: https://www.yougetsignal.com/tools/open-ports/
Open Port Check Tool - Test Port Forwarding on Your Router
www.yougetsignal.com
1. SSL 공식 홈페이지 및 깃허브
: https://www.openssl.org/source/
: https://github.com/openssl/openssl
2. SSL 인증서 발급
: 웹 서버에서 SSL을 이용하기 위해서는 SSL인증서 발급이 필요
: 인증서는 호스팅 사이트, 한국정보인증 에서 구매가능
: Lets Encrypt의 경우 무료로 SSL인증서 발급
ㆍ무료 SSL 인증서 발급
: (SSL for Free) https://www.sslforfree.com/
: (Zero SSL) https://zerossl.com/
: (Lets Encryption) https://letsencrypt.org/
3. 리눅스 OpenSSL 설치 및 적용 (Apache를 이용한 HTTP 서버 기준)
ㆍopenssl 설치 (기본적으로 설치되있음)
: yum install -y openssl
ㆍ인증파일을 생성할 디렉터리로 이동
: cd /etc/pki/tls/certs/
ㆍ키 생성
: openssl genrsa -out http.key 2048
ㆍ인증서 생성
: openssl req -new -key http.key -out http.csr
: Country Name : kr
: State or Province Name : 지역명
: Locally NAme : 지역명
: Organizational Unit Name : 회사명
: Organizational Unit Name : 부서명
: Common Name : 호스트 네임
: Email Address : 이메일
: A Challenge password : 생략
: An optional company name : 생략
ㆍ키와 인증서 병합
: openssl x509 -req -days 365 -in http.csr -signkey http.key -out http.crt
ㆍssl 모듈 설치
: yum -y install mod_ssl
ㆍssl 파일 설정
: vi /etc/httpd/conf.d/ssl.conf
: 59번째 DocumentRoot "/var/www/html" 주석 해제
: 100번째 줄을 SSLCertificateFile /etc/pki/tls/certs/http.crt로 변경
: 107번째 줄을 SSLCertificateKeyFile /etc/pki/certs/http.key로 변경 후 저장(wq)
ㆍhttp 데몬 재시작
: systemctl restart httpd
ㆍ정상작동 확인
: netstat -tlp
4. nodeJS 서버 적용
ㆍDNS에 SSL 인증 등록 (ssl for free는 zero ssl과 연동됨)
ㆍ웹 서버 주소 입력 후 CNAME으로 설정 (Route53을 DNS로 사용하는 경우 기준)
: Route53에 CNAME 레코드 생성 후 값 입력
: 약 5분 후 Verify
: Certification 다운로드 (웹 서버에 다운 / 필자의 경우 git hub private repository 이용)
: CheckInstallation 클릭
=> 3개월 주기로 갱신
Refference
Node.js에서 HTTPS 서버 실행하기
0. 서문 안녕하세요 간만에 블로그 글을 써봅니다 ! 오늘 쓸 내용은 바로 Node.js 에서 HTTPS 서버 ...
blog.naver.com
[Chrome] ERR_SSL_PROTOCOL_ERROR 이슈 원인 및 해결방법
증상 - 크롬을 이용해 SSL/TLS(https) 프로토콜 접속 시 아래와 같은 에러가 발생한다. {도메인}에서 잘못된 응답을 전송했습니다. Windows 네트워크 진단 프로그램을 실행해 보세요. ERR_SSL_PROT...
1004lucifer.blogspot.com
리눅스 웹 서버 https 설정하기
인터넷에 이런 저런 사이트 돌아다니다가 "이 사이트는 안전하지 않습니다." 라는 문구를 마주한 적이 있을 것이다. https를 사용하려면 Kisa, GeoTrust, Verisign, Digicert와 같은 공인 SSL 인증서 발급기
jdh5202.tistory.com