만약
여러개의 도메인을 하나의 서버(머신)에서 가동하는 경우가 많습니다. 이런 경우 서버환경(nginx, apache) 또는 서버측 언어(PHP, Python 등등)에서 설정하여 사용하게됩니다. 이때 nginx에서는 어떻게 설정해야할까요?
# 멀티 도메인을 사용하기 위한 nginx 설정방법 알아보기
만약 아래의 도메인을 사용하는 경우 예를들어보겠습니다. 하나의 도메인만 설정된 경우라면 아래와 같이 설정이 되어 있겠죠. 참고로 nginx 설정파일은 각각 다를 수 있습니다. 경로는 /etc/nginx/에 위치하면 nginx.conf 파일이거나 /site-available/등에 있을 수 있습니다.
@ nginx.conf
server {
listen 80;
server_name 127.0.0.1;
root /var/www/sites/
index index.html index.htm
...
}
위와 같이 설정된 경우 아래처럼 여러개의 도메인별로 설정해보겠습니다.
! 여러개의 도메인인 경우
만약 아래 두개의 도메인을 사용한다고 가정하면 새로운 설정값은 어떻게하는지 알아보죠.
1) webisfree.com
2) abcde.com
위 도메인을 아래와 같이 설정하도록 합니다.
server {
listen 80;
server_name webisfree.com
root /var/www/webisfree.com/
index index.html index.htm
...
}
server {
listen 80;
server_name abcde.com
root /var/www/abcde.com
index index.html index.htm
...
}
이제 접속된 host 정보에 따라 해당하는 경로의 index 파일이 실행되게됩니다. 그렇다면 ssl 설정이 되어 있는 겨우라면 어떻게 될까요?
# SSL 설정이 되어 있는 경우 멀티 도메인 설정하기
만약 A, B 사이트의 정보가 아래와 같은 경우라면? 이때 abcde.com은 SSL을 사용한 https 프로토콜을 사용합니다.
- https://webisfree.com
- http://abcde.com
이제 위 도메인을 사용하여 아래와 같이 설정해봅니다.
server {
listen 80;
server_name webisfree.com;
ssl on;
ssl_certificate ...;
...
root /var/www/webisfree.com/;
index index.html index.htm;
...
}
server {
listen 80;
server_name abcde.com;
ssl off;
root /var/www/abcde.com;
index index.html index.htm;
}
이처럼 ssl 설정을 하나의 server 설정에만 추가하는 것이 가능합니다.