웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > webdevetc

nginx 서버 SSL 인증서 멀티 도메인에 사용하는 방법

Last Modified : 2018-02-17 / Created : 2018-02-17
10,405
View Count
하나의 서버에 여러개의 도메인에서 SSL 인증서를 사용하는 방법에 대하여 알아봅니다. 어떻게 하면 가능할까요?




# 하나의 서버에 여러 SSL 적용방법, nginx

우선 하나의 서버에서 멀티 도메인을 사용하는 경우 여러개의 SSL 인증서를 적용할 수 없습니다. 만약 여러개의 인증서를 사용하려면 SNI(Server Name Indication)을 사용하는 방법이 있습니다. SNI는 TLS프로토콜 확장 방법으로 여러개의 SSL 설정을 가능하도록 도와줍니다. 다만 설정하기 위해서 아래의 과정들이 필요합니다.


! SNI 사용하는 방법

nginx에 아래의 커맨드를 입력합니다.
nginx -V

이제 nginx 서버 설정에 두 개의 인증서를 설정합니다.
server {
  listen 443;
  server_name test1.com
  ssl on;
  ssl_certificate /etc/nginx/ssl/test2.crt;
  ssl_certificate_key /etc/nginx/ssl/test2.key;

  ssl_prefer_server_ciphers on;

  location / {
    include uwsgi_params;
    uwsgi_pass unix:/home/ubuntu/webisfree.sock;
  }
}

server {
  listen 443;
  server_name test2.com;
  ssl on;
  ssl_certificate /etc/nginx/ssl/test2.crt;
  ssl_certificate_key /etc/nginx/ssl/test2.key;

  ssl_prefer_server_ciphers on;

  location / {
    include uwsgi_params;
    uwsgi_pass unix:/home/ubuntu/webisfree.sock;
  }
}

이제 nginx 설정이 끝났습니다. nginx 서버를 재시작합니다.



# 마치면서

처음 SNI를 사용해 멀티 도메인 SSL을 적용하면서 여러가지 시행착오가 많았습니다. 서버에 하나의 SSL 인증만 적용 가능하다고해서 철렁했으나 SNI를 사용하는 방법이 다행히 존재하였고 이를 사용하여 현재 여러개의 멀티 인증서를 각각 적용하여 잘 사용하고 있습니다.

중간에 구글링을 통하여 해결하는 과정에서 데이터베이스 서버가 멈추고 동작하지 않는 문제가 발생하는 등 여러 이슈가 나타났으나 결국은 정상적으로 동작하게되었습니다.

Previous

도메인 TypeA로 연결방법 및 nginx 설정하기

Previous

이메일 해킹, 악성코드의 위험성을 알아보자