WEB Server - NGNINX SSL 인증서 적용하기
WEB Server - NGNINX SSL 인증서 적용하기
이번 포스팅에서는 NGINX에서 SSL 인증서 적용 방법을 알아보겠습니다
이전 글 :
서버와 클라이언트 그리고 HTTP - https://server-talk.tistory.com/291
WEB Server - NGINX 알아보기 - https://server-talk.tistory.com/297
WEB Server - NGINX Comfile 설치하기 - https://server-talk.tistory.com/301
WEB Server - NGINX 서비스 제어 - https://server-talk.tistory.com/302
WEB Server - NGINX 구성파일 및 기본설정 - CentOS 7 - https://server-talk.tistory.com/303
WEB Server - NGINX HTTP 설정 - CentOS 7 - https://server-talk.tistory.com/304
WEB Server - NGINX PHP 5.2 연동하기 - CentOS 7 - https://server-talk.tistory.com/307
WEB Server - NGINX LOCATION 블록 알아보기 - CentOS 7- https://server-talk.tistory.com/310
WEB Server - NGINX LOCATION 블록 사용법 - CentOS 7- https://server-talk.tistory.com/311
WEB Server - NGNINX 기본 상태 정보(현황 모듈) 알아보기 - https://server-talk.tistory.com/313
WEB Server - NGNINX 기본 인증(접근제한) 알아보기 - https://server-talk.tistory.com/314
| SSL 인증서는 무엇인가? |
NGINX에서는 웹사이트에 방문하는 방문자를 보호해주는 SSL 모듈을 지원합니다.
관련 글 : SSL 인증서 이해하기 - https://server-talk.tistory.com/141
| NGINX SSL 모듈 |
NGIXN SSL 모듈을 통해 아래와 같은 기능을 제공합니다
1. ssl_certificate : PEM 인증서 파일을 지정하는데 사용됩니다
사용법 : ssl_certificate /[파일경로]/[인증서].pem;
ex) ssl_certificate /usr/local/nginx/ssl/server-talk.pem;
2. ssl_certificate_key : PEM 인증서 key 파일을 지정하는데 사용됩니다
사용법 : ssl_certificate_key /[파일경로]/[SSL인증서].key;
ex) ssl_certificate_key /usr/local/nginx/ssl/server-talk.key;
3. ssl_ciphers : 사용될 암호화 방식을 지정합니다
사용법 : ssl_ciphers [암호화 방식];
ex) ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
4. ssl_prefer_server_ciphers : 서버의 암호화 방식을 사용할지 사용자 암호화 방식을 사용하지 여부를 지정하는데 사용됩니다
사용법 : ssl_prefer_server_ciphers [on]or[off];
ex) ssl_prefer_server_ciphers [on];
- on으로 지정하여 서버의 암호화 방식을 권장합니다.
5. ssl_session_cache : SSL 세션 캐시를 설정하는데 사용됩니다
사용법 : ssl_session_cache [off] [none] [builtin:size] [shared:[name]:[size]];
ex) ssl_session_cache shared:SSL:1m;
6. ssl_session_timeout : SSL 세션이 활성화 기준으로 제한시간을 지정하는데 사용됩니다
사용법 : ssl_session_timeout [분]m;
ex) ssl_session_timeout 5m;
| NGINX SSL 설정하기 |
server { listen 443 ssl; //설명: 포트번호 설정. server_name server-talk.com; //설명: 서버 네임을 기입한다. ssl_certificate /usr/local/nginx/ssl/server-talk.com.pem; //설명: 인증서 위치를 설정하고 파일 명을 동일하게 한다. ssl_certificate_key /usr/local/nginx/ssl/server-talk.com.key; //설명: 인증서 키 파일 경로 설정 및 파일명 동일하게 한다. ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; . . . }
위 내용과 같이 SSL 인증서를 적용할 SERVER 블록에 있는 도메인에 인증서 파일을 적용하시면 됩니다.
※ 주의 : NGINX 1.15 이전 버전에서는 listen의 ssl 인자를 사용하지 않고 ssl on; 을 지정하셔야 됩니다.