gabia(๊ฐ๋น์) ๋๋ฉ์ธ ์ฃผ์๋ฅผ
์ค์ EC2์์ ์ฐ๊ฒฐํ ์๋ฒ์ IP4 ์ฃผ์์ ์ฐ๊ฒฐํ๋ ์์ ์ ์งํํ ๊ฒ์ด๋ค.
์ค์ IP4 ์ฃผ์๋ฅผ ์ ๋ ฅํ๊ณ
๋ค์ด๊ฐ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
1. Gabia Domain EC2 ์๋ฒ์ ์ฐ๊ฒฐ
์ํ๋ ๋๋ฉ์ธ์ ์ ๋ ฅํ๊ณ , ๊ฒฐ์ ๋ฅผ ์งํํ๋ฉด ๋๋ค.
๋๋ ๋ฏธ๋ฆฌ ์ฌ๋ shop domain์ด ์๊ธฐ ๋๋ฌธ์ ( shop ์ด ๊ฐ์ฅ ์,,,)
๊ทธ domain ์ผ๋ก ์งํํ๊ณ ์ ํ๋ค.
ํธ์คํธ www ๋ www๊ฐ ์์ด์ผ์ง๋ง ์ ์์ด ๊ฐ๋ฅํ๊ฒ ํ ๊ฒ์ด๊ณ , @๋ www๊ฐ ์์ด๋ ์ฌ์ดํธ์ ์ ์์ด ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ฒ์ด๋ค.
์์ผ๋ก prod์ dev๋ผ๋ ์๋ธ ๋๋ฉ์ธ์ ๋ง๋ค ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๋ฏธ๋ฆฌ ์์ฑํ์ฌ ์ค๋ค.
๋ ธ๋์ ๋ถ๋ถ์ EC2 public IP4 ์ฃผ์๋ฅผ ์์ฑํด์ฃผ๋ฉด ๋๋ค.
โป๋๋ฉ์ธ ์ฃผ์๋ ์ค์ ์ฃผ์๊ฐ ์๋ ๊ฐ์์ ์ฃผ์๋ก ์ด์ ๊ฐ์ด ์ฐ๊ฒฐํ๋ฉด ๋๋ ๊ฒ์.
์ฐธ๊ณ ๋ก, ์ด ์ค์ ์ ๋ฐ๋ก ์ ์ฉ๋์ง ์๊ณ ์๊ฐ์ด ์ข ์ง๋์ผ ์ ์ฉ์ด ๋๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ๋ค์ ๋จ๊ณ๋ก ์งํํ๋ ๊ฒ์ ์ง์ํ๋ค.
2. Let's Encrypt ๋ฅผ ์ด์ฉํด HTTPS ์ ์ฉ
http๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ ๋ณด์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์
๋ฌด๋ฃ๋ก https, ๋ณด์ ์ฐ๊ฒฐํด์ฃผ๋ Let's Encrypt๋ฅผ ์ฌ์ฉํด๋ณด๊ณ ์ ํ๋ค.
//update
sudo apt update
//ํ์ผ ์์น ๊ฒฝ๋ก ์์ฑ
sudo add-apt-repository ppa:certbot/certbot
//ํ์ํ ํ์ผ๋ค ์ค์น
sudo apt install certbot python3-certbot-nginx
//nginx ์ค์ ๋ณ๊ฒฝ
sudo vi /etc/nginx/sites-available/default
server_name์ ์์ ์ด ์์ฑํ domain์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝํด์ค๋ค.
//test ์งํ
sudo nginx -t
# nginx reload
sudo systemctl reload nginx
# ํน์
sudo nginx -t # nginx test
sudo service nginx restart # ์ฌ์์
# nginx๋ฅผ ์ด์ฉํด์ https ์ธ์ฆ์ ์ฐ๊ฒฐ
sudo certbot --nginx -d xxx.shop
1. ์ด๋ฉ์ผ ์ ๋ ฅ
2. a
3. y
4. 2
๋ฅผ ์ ๋ ฅํด์ค๋ค.
# https ์ธ์ฆ์ ์๋ ๊ฐฑ์ ํ๊ธฐ
# Let's Encrypt์ 90์ผ๋์๋ง ์ ํจํ๊ธฐ ๋๋ฌธ
sudo certbot renew --dry-run
3. Sub Domain ์ ์ฉ (dev, prod)
gabia domain์์ ์ฐ๊ฒฐํ๋ subdomain์ ์์ฑํด์ ์ฐ๊ฒฐํด๋ณด์.
// /var/www/html๋ก ์ด๋
cd /var/www/html
//dev file ์์ฑ
sudo mkdir dev
//prod file ์์ฑ
sudo mkdir prod
dev์ prod file ์์ ๊ฐ๋จํ html์ ์์ฑํ ๊ฒ์ด๋ค.
// var/www/html/prod ๋ก ์ด๋
cd prod/
//html file ์์ฑ
sudo vi prod.html
<!-- prod.html file ๋ด๋ถ -->
<html lang="ko">
<head>
<meta charset="utf-8">
<title>prod web page</title>
</head>
<body>
<p>
prod subdomain webpage
</p>
</body>
</html>
// var/www/html/dev ๋ก ์ด๋
cd var/www/html/dev
//html file ์์ฑ
sudo vi dev.html
<!-- dev.html file ๋ด๋ถ -->
<html lang="ko">
<head>
<meta charset="utf-8">
<title>dev web page</title>
</head>
<body>
<p>
dev subdomain webpage
</p>
</body>
</html>
์ด์ ์ค์ domain์ ์ฐ๊ฒฐ์ ํด๋ณด์
sudo vi /etc/nginx/sites-available/default
ํ์ผ์ ๋งจ๋ง์ง๋ง ๋ถ๋ถ์ ์์ ๊ฐ์ด ๋ด์ฉ์ ์ ๋ ฅํ๋ค.
server {
root /var/www/html/dev;
index dev.html;
server_name dev.xxx.shop;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location / {
try_files $uri $uri/ =404;
}
}
server {
root /var/www/html/prod;
index prod.html;
server_name prod.xxx.shop;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location / {
try_files $uri $uri/ =404;
}
}
//nginx ์ฌ์์
sudo service nginx restart
์ฐ๊ฒฐ์ด ์ ๋์๋์ง ํ์ธํด๋ณด์
์ฐ๊ฒฐ์ด ์ ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
4. Redirection ์ ์ฉ (IP to Domain)
Redirection์ด๋ IP ์ฃผ์๋ก ์ฐ๊ฒฐํ๋ฉด ์๋์ผ๋ก domain ์ฃผ์๋ก ๋ณ๊ฒฝํด์ฃผ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ฆ, EC2 public IP 4 ์ฃผ์๋ฅผ ์ ๋ ฅํ๋ฉด ์์ ์ด gabia์์ ์์ฑํ ์ฃผ์๋ก ์๋์ผ๋ก ์ฐ๊ฒฐ๋๋ ๊ฒ์ด๋ค.
์ด๋ฅผ ์ ์ฉํด๋ณด์.
sudo vi /etc/nginx/sites-available/default
file ๋ด๋ถ์ ์ด์ ๊ฐ์ ๋ด์ฉ์ ์์ฑํ๋ฉด ๋๋ค.
server {
listen 80;
#server_name ๋ค ๋ถ๋ถ์๋ EC2 Public IP4 ์์ฑ
server_name _;
#์์ ์ด ์์ฑํ domain ์ด๋ฆ ์์ฑ
return 301 https://www.xxx.shop$request_uri;
}
์ด๋ฅผ ์ฐ๊ฒฐํ๋ฉด ์ ์ ์ฉ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
3์ฃผ์ฐจ ์ค์ต์ ํ๋ ๋น์์ ๊ฑฐ์ ํ๋ฃจ? ์ดํ? ๋์ ๋ ์ ์๋ฉด์ ์ด๋ฅผ ์งํํ ๊ฒฝํ์ด ์๋๋ฐ
๋ค์ ์ค์ต์ ํด๋ณด๋ ์์ง๊น์ง๋ ์ด๋ ต์ง๋ง, ๊ทธ ๋๋ณด๋ค๋ ์์ํ๊ฒ ์งํํ๋ค.
ํ์ง๋ง ์์ฌ์ด ์ ์ ๊ณ์ nginx๊ฐ ์ค๋ฅ๊ฐ ๋ด๋๋ฐ,
์ด๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๊ณ ๋ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ค๋ ์ ์ด๋ค.
์ค๋ฅ๋ฌธ ๋ณผ ์ ์๋ ์ค๋ ฅ์ ๊ธธ๋ฌ์,
nginx ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ผ๋ฉด ์ข๊ฒ ๋ค.
์์ง์ ๋ง์ด ์ด๋ ต๊ณ , ํนํ ubuntu๊ฐ ์ ๋ง ์ด๋ ต์ง๋ง
๊ทธ๋๋ ์ด์ฌํ ๋ ธ๋ ฅํด๋์๊ฐ์ ์ฝ๋ฉ ์ค๋ ฅ์ ๋๋ฆด ๊ฒ์ด๋ค.
[์ถ์ฒ]