본문 바로가기

Server

Nginx https 적용하기 openssl 사용, http https로 리다이렉트

728x90

openssl을 사용해서 nginx에 https를 적용시키려고 한다.

참고로 openssl로 자체 서명 ssl인증서를 통해 https를 하면 자체서명이기 때문에 브라우저에서 공식적으로 인증된 ca루트 인증서가 아니라고 경고가 뜨기때문에 경고가 싫다면 돈주고 ssl 인증서를 사야한다. ex)가비아, 카페24

 

또한 사전에 방화벽과 클라우드라면 보안그룹에서 443을 열어주어야한다.

 

먼저 nginx가 ssl적용이 가능한 모듈이 있는지 확인

# nginx -V

사진처럼 --with-http_ssl_module이 있어야한다.

 

openssl을 사용하기 때문에 있는지 확인, 없으면 설치해주어야 한다. ( 우분투 => apt )

# openssl version

버전 정보가 나온다면 openssl이 설치되어 있다.

 

openssl을 이용해서 개인키(key)와 인증 요청서(csr) 생성

 

# openssl req -new -newkey rsa:2048 -nodes -keyout 개인키이름.key -out 개인인증요청서이름.csr

입력하면 요청할 인증서 정보 입력하는 부분이 나온다.

Country Name : 국가코드 => KR

State or Province Name : 주이름인데 우리나라는 주가 없으니 빈칸도 되지만 Seoul 넣엇음

Locality name : 도시명 => Seoul

Organization Name : 회사명

Organizational Unit Name : 부서명

Common Name : 이름

Email : 이메일

 

challenge password : 비밀번호

optional company name : 추가로 넣는 회사이름인가? 모름

 

나는 비밀번호를 그냥 빈칸으로 넣엇다.

비밀번호가 있으면 서버 재시작때마다 넣어주어야 한다.

ls로 확인해보면 요청서와 키가 생긴걸 확인할 수 있다.

 

인증서 생성

# openssl x509 -req -days 365 -in 인증요청서이름.csr -signkey 개인키이름.key -out 인증서이름.crt

인증서가 생긴걸 확인할 수 있다.

 

인증서 정보 입력시 비밀번호를 입력한 경우

제거하고 싶다면

 

키를 먼저 복사한다.

# cp 개인키이름.key 복사할이름.key.secure

 

복사된 키로 기존키 덮는다

openssl rsa -in 복사한키이름.key.secure -out 키이름.key

나는 비밀번호 입력을 하지않아서 안해도 되지만 해봤다.

 

nginx ssl 설정

 

80으로 들어온경우 https로 리다이렉트 한다.

 

728x90

'Server' 카테고리의 다른 글

[Linux] Ubuntu 사용자 계정 생성 및 접속 설정  (0) 2024.02.18
iptables 80포트 설정  (0) 2022.09.13
Nginx request 제한 설정하기  (0) 2021.09.16
Nginx 413 Request Entity Too Large 에러  (0) 2021.09.14