320x100
320x100

※ 배경

: 모해묵지의 온프레미스 서버가 생겨 세팅을 하던 도중

외부네트워크에서 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과 연동됨)

: https://www.sslforfree.com/ 

 

ㆍ웹 서버 주소 입력 후 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

 

300x250
728x90