์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[One-pick] ์„œ๋ฒ„ ์„ค์ •(2) - SSL ์„ค์ •

๋ณธ๋ฌธ

ํ˜„์žฌ์ƒํ™ฉ


    ์ถ”๊ฐ€ ๋‚จ์€ ์„ค์ •  -   2. SSL ์„ค์ •     

1) NGINX ์„ค์ •

2) SSL ์ ์šฉ


0) 80๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์„œ๋น„์Šค ์ค‘์ง€

docker stop ์ปจํ…Œ์ด๋„ˆID

> Frontend ์ปจํ…Œ์ด๋„ˆ๊ฐ€ 80๋ฒˆ ํฌํŠธ ์‚ฌ์šฉ์ค‘ -> ์ค‘์ง€!

> ์•ž์œผ๋กœ Frontend ํฌํŠธ๋ฅผ 3000๋ฒˆ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค!

Nginx์— ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด 3000๋ฒˆ์œผ๋กœ ํฌํŠธํฌ์›Œ๋”ฉ์„ ํ•ด์ฃผ๋ ค๊ณ  ํ•œ๋‹ค!


1) NGINX ์„ค์ •

- Nginx ์„ค์น˜

sudo apt update
sudo apt install nginx


- ๋ฐฉํ™”๋ฒฝ ํ™•์ธ & 443, 80, 22 ํฌํŠธ ์—ด์–ด์คŒ

Nginx Full : 80, 443 / Nginx HTTP : 80 / Nginx HTTPS : 443

sudo ufw app list
sudo ufw allow 'Nginx HTTPS'
sudo ufw allow 'OpenSSH'
sudo ufw enable
# sudo ufw disable # ๋ฐฉํ™”๋ฒฝ ์ž‘๋™ ํ•ด์ œ
# sudo ufw delete allow 'OpenSSH' # Openssh ํ—ˆ์šฉ ํ•ด์ œ

- ๋ฐฉํ™”๋ฒฝ ํ—ˆ์šฉ ํฌํŠธ ํ™•์ธ

sudo ufw status

- Nginx ๋™์ž‘ ํ™•์ธ

systemctl status nginx

nginx๊ฐ€ ์ •์ƒ๋™์ž‘ ์ค‘์ด๋‹ค!
์ž˜ ๋™์ž‘ํ•œ๋‹ค!


Nginx ๋ช…๋ น์–ด

# nginx ๋ฒ„์ „ ํ™•์ธ.
nginx -version
# nginx ๊ธฐ๋ณธ ๋ช…๋ น์–ด.
sudo systemctl start nginx   # nginx ์‹œ์ž‘
sudo systemctl enable nginx  # ๋ถ€ํŒ…์‹œ ์ž๋™์‹คํ–‰
sudo systemctl status nginx  # ์ƒํƒœ ํ™•์ธ
sudo systemctl stop nginx    # nginx ์ค‘์ง€
# ์‹คํ–‰ ์ค‘ ์—๋Ÿฌํ™•์ธ.
journalctl -xe
๋”๋ณด๊ธฐ

nginx์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

- /etc/nginx/ 

์—”์ง„์—‘์Šค ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ์„ค์ •์ด ์ €์žฅ๋œ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ, ์ด๊ณณ์— ์ €์žฅ๋œ ์„ค์ • ํŒŒ์ผ์˜ ๋‚ด์šฉ์— ๋”ฐ๋ผ ๋™์ž‘ํ•จ

- ๊ธฐ๋ณธ ์„œ๋ฒ„ ์„ค์ • ํŒŒ์ผ : /etc/nginx/conf.d/default.conf

์—”์ง„์—‘์Šค ๊ธฐ๋ณธ ์„ค์ • ํŒŒ์ผ, ๋ชจ๋“  ์„ค์ •์— ๋Œ€ํ•œ ์ง„์ž…์ 

์›Œ์ปค ํ”„๋กœ์„ธ์Šค ๊ฐœ์ˆ˜, ํŠœ๋‹, ๋™์  ๋ชจ๋“ˆ ์ ์žฌ์™€ ๊ฐ™์€ ๊ธ€๋กœ๋ฒŒ ์„ค์ • ํ•ญ๋ชฉ

์„ธ๋ถ€ ์„ค์ • ํŒŒ์ผ์— ๋Œ€ํ•œ ์ฐธ์กฐ ์ง€์ • 

- ๊ธฐ๋ณธ ์„œ๋ฒ„ ์„ค์ • ํŒŒ์ผ : /etc/nginx/conf.d/**

.conf๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ์€ ์•ž์„œ ์–ธ๊ธ‰ํ•œ /etc/nginx/nginx.conf ํŒŒ์ผ์ด ๊ฐ€์ง„ ์ตœ์ƒ์œ„ http ๋ธ”๋ก์— ํฌํ•จ๋จ

include ๊ตฌ๋ฌธ์„ ํ™œ์šฉํ•ด ๊ตฌ์กฐํ™”ํ•จ์œผ๋กœ์จ ๊ฐ ์„ค์ €์–ด ํŒŒ์ผ์„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด ์ข‹์Œ

conf.d ๋””๋ ‰ํ„ฐ๋ฆฌ ๋Œ€์‹  side-enabled ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์žˆ๊ณ , symlink๋ฅผ ํ†ตํ•ด site-available ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ €์žฅ๋œ ์„ค์ • ํŒŒ์ผ๋“ค์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ

- /var/log/nginx

์—”์ง„์—‘์Šค์˜ ๋กœ๊ทธ๊ฐ€ ์ €์žฅ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ. access.log์™€ error.log ํŒŒ์ผ

์—”์ง„์—‘์Šค ์„œ๋ฒ„๊ฐ€ ์ˆ˜์‹ ํ•œ ๊ฐœ๋ณ„ ์š”์ฒญ์— ๋Œ€ํ•œ ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•˜๋ฉฐ ์˜ค๋ฅ˜ ๋กœ๊ทธ ํŒŒ์ผ์€ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ์ด๋ฒคํŠธ ๋‚ด์šฉ์„ ์ €์žฅํ•จ

debug ๋ชจ๋“ˆ ํ™œ์„ฑํ™”์‹œ ๋””๋ฒ„๊ทธ ์ •๋ณด๋„ ์˜ค๋ฅ˜ ๋กœ๊ทธ ํŒŒ์ผ์— ๊ธฐ๋ก

- ๊ธฐ๋ณธ ์›น ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ : /usr/share/nginx/html


์›น ์„œ๋ฒ„ ์„ค์ •

sudo vi /etc/nginx/sites-available/one-pick-go
server {

	 listen 80;
   	 listen [::]:80;
	
    server_name one-pick-go www.one-pick-go.com;
	
	location / {
    		proxy_pass http://127.0.0.1:3000;
  	}

}

- /etc/nginx/sites-enabled/ ๊ฒฝ๋กœ์— ๋งํฌ, Nginx๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ์ฝ๋Š” ๊ณณ

sudo ln -s /etc/nginx/sites-available/one-pick-go /etc/nginx/sites-enabled/
sudo vi /etc/nginx/nginx.conf

# server_names_hash_bucket_size 64; ์ฃผ์„ ์ฒ˜๋ฆฌ ์ทจ์†Œ

- nginx ์„ค์ • ํŒŒ์ผ ์ œ๋Œ€๋กœ ์ž‘์„ฑํ–ˆ๋Š”์ง€ (๋ฌธ๋ฒ• ํ™•์ธ)

sudo nginx -t

- nginx ์„ค์ • ์ ์šฉ์„ ์œ„ํ•ด restart ํ•œ๋‹ค

sudo systemctl restart nginx

SSL์„ค์ • (Certbotํ™œ์šฉ)

sudo snap install core; sudo snap refresh core

 

sudo apt remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

- SSL ์„ค์ •!

sudo certbot --nginx -d one-pick-go.com

์ฃผ์˜) EC2 ์ธ๋ฐ”์šด๋“œ ์ •์ฑ…์— 443 ํฌํŠธ ํ™•์ธ!

SSL ์„ค์ • ์™„๋ฃŒ!


ํ˜„์žฌ๊นŒ์ง€ ๊ฒฐ๊ณผ


์ฐธ๊ณ )

AWS System Manager ๋กœ ์ ‘๊ทผ

https://blog.naver.com/PostView.naver?blogId=zozokjs&logNo=222863021597&categoryNo=85&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=search

 

AWS - network error connection timed out ๋ฐฉํ™”๋ฒฝ ๊ด€๋ จ

์•„๋ž˜๋Š” AWS ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ -> SSH ๋ฐฉ์‹์œผ๋กœ ๋ฆฌ๋ˆ…์Šค ์šฐ๋ถ„ํˆฌ ์„œ๋ฒ„์— ์ ‘์† -> ๋ฐฉํ™”๋ฒฝ ์ž‘์—…์ด ๋ฏธ์™„...

blog.naver.com

- ์ฒ˜์Œ๋ถ€ํ„ฐ 22๋ฒˆ ํฌํŠธ ๋ง‰์•„๋‘๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ

https://musma.github.io/2019/11/29/about-aws-ssm.html

 

AWS SSM์œผ๋กœ EC2 ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผํ•˜๊ธฐ (SSH ๋Œ€์ฒด)

๋ชฉ์ฐจ ์„œ๋ก  ๋“ค์–ด๊ฐ€๊ธฐ: ๋” ์ข‹์€ ๋ฐฉ๋ฒ• ๋Œ€์ƒ ๋…์ž SSM: AWS Systems Manager ์›๊ฒฉ ํ˜ธ์ŠคํŠธ ์ ‘์† ๋ฐฉ๋ฒ• ๋น„๊ต: SSH (๊ธฐ์กด) vs. SSM (๊ฐœ์„ ) S...

musma.github.io

 

- Nginx ์„ค์น˜

https://velog.io/@mero/ubuntu-22.04%EC%97%90-Nginx-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

ubuntu 22.04์— Nginx ์„ค์น˜ํ•˜๊ธฐ

์ฐธ๊ณ  ๋งํฌ : https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-22-04Nginx๋Š” ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์›น์„œ๋ฒ„ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.nginx๋Š” ์„ค์น˜๋  ๋•Œ ufw์— ์ž์‹ ์„

velog.io

- SSL ์„ค์ •

 

https://velog.io/@mero/ubuntu-22.04%EC%97%90%EC%84%9C-Nginx-%EC%95%94%ED%98%B8%ED%99%94%ED%95%98%EA%B8%B0

 

ubuntu 22.04์—์„œ Nginx ์•”ํ˜ธํ™”ํ•˜๊ธฐ

์ฐธ๊ณ  ์‚ฌ์ดํŠธ : https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-22-04์ด ์ „๊ธ€์—์„œ ์ด์–ด์„œ ์ง„ํ–‰certbot์ด๋ž€๊ฑธ ํ•˜๊ธฐ์ „์— ๋จผ์ € s

velog.io

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-22-04

 

How To Secure Nginx with Let's Encrypt on Ubuntu 22.04 | DigitalOcean

 

www.digitalocean.com

 

- ๋ฐฉํ™”๋ฒฝ ์„ค์ • ๊ด€๋ จ ๋ช…๋ น์–ด ๋ชจ์Œ

https://manpd.tistory.com/231

 

UFW ์„ค์ •ํ•˜๊ธฐ(Ubuntu ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ)

# ufw ํ™œ์„ฑํ™” ufw enable # ufw ๋น„ํ™œ์„ฑํ™” ufw disable # ufw ์ƒํƒœํ™•์ธ ufw status verbose # ๊ธฐ๋ณธ ๋ฃฐ ํ™•์ธ ufw show raw # ๊ธฐ๋ณธ ์ •์ฑ… ์ฐจ๋‹จ ufw default deny # ๊ธฐ๋ณธ ์ •์ฑ… ํ—ˆ์šฉ ufw default allow # SSH ํฌํŠธ 22๋ฒˆ ํ—ˆ์šฉ(tcp/udp 22๋ฒˆ ํฌํŠธ

manpd.tistory.com

 

728x90

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ