선행조건
도메인을 구매한 가장 큰 목적은 서브도메인을 사용하기 위해서였다.
dalso.org, blog.dalso.org, cloud.dalso.org 등등 여러가지로 사용하기위해서 내부 서버를 3개 만들어 놓는다고 치면
프록시 서버를 앞에 두고 뒤에 두개의 서버를 blog, cloud로 놓는것이다.
앞에서 blog.dalso.org 혹은 dalso.org를 받으면 위의 Web 서버로
cloud.dalso.org를 받으면 아래 클라우드서버로 가게끔 리버스 프록시를 구축할것이다.
프록시서버 생성
웹서버와 마찬가지로 프록시 서버도 새로 만들어 줘야한다.
나같은경우 Ubuntu 18.04.2 LTS 운영체제를 이용해서 구축하였다.
OS 설치후 Nginx를 설치하자.
설치후에는 /etc/nginx/site-available/ 로 이동해서 도메인별로 작성을 해준다. ex(dalso.org, blog.dalso.org)
각각의 내용은 다음과 같다.
dalso.org 일단 자기 자신의 nginx 사이트 열기
blog.dalso.org 같은 대역에 있는 192.168.0.111로 프록시해서 php info 창 열기
dalso.org
server {
listen 80 ;
listen [::]:80 ;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name dalso.org;
location / {
try_files $uri $uri/ =404;
}
}
사실 기본 설정 그대로에 server_name만 바꿨다 파일이름이랑..
blog.dalso.org
server {
listen 80 ;
listen [::]:80 ;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name blog.dalso.org;
#location / {
# try_files $uri $uri/ =404;
#}
location / {
proxy_set_header X-Forwarded-Proto https;
proxy_pass http://192.168.0.111/;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_read_timeout 1d;
}
}
192.168.0.111의 blog.dalso.org
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name blog.dalso.org;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ { include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 300;
}
location ~ /\.ht {
deny all;
}
}
blog.dalso.org로 요청이오면 proxy_pass를 통해서 192.168.0.111번의 80번 포트로 전송한다.
192.168.0.111에는 현재 nginx와 php7.2-fpm이 깔려있다. 그래서 연결하면 phpinfo가 뜨게 해놓음!
이제 웹에서 dalso.org 와 blog.dalso.org를 검색해보자.
이렇게 자동으로 프록시 되서 넘어간다.