TIL

46์ผ์ฐจ(์„œ๋ฒ„๋ฆฌ์Šค ํ”„๋ก ํŠธ์—”๋“œ ์ด ์ •๋ฆฌ๋ผ ๋งํ•˜๊ณ  1์ผ์ฐจ ์ด์ •๋ฆฌ ํ•˜๊ธฐ,,)

haedal-uni 2021. 10. 28. 23:55
728x90

ํฌ์ธํŠธ โ˜๐Ÿป. ๋‚ด๊ฐ€ ์ง€๊ธˆ ์ดํ•ด ๋ชปํ•œ ๋ถ€๋ถ„๋“ค ๋‹ค ํ•ด์„ํ•ด๋ฒ„๋ฆฌ๊ธฐ

ํฌ์ธํŠธ โœŒ๐Ÿป. ํ•œ๋™์•ˆ aws์— ์†์„ ๋–ผ๋„ ๋‹ค์‹œ ํ•  ์ˆ˜ ์žˆ์„ ์ •๋„๋กœ ์‰ฝ๊ฒŒ ์ ๊ธฐ

ํฌ์ธํŠธ ๐Ÿ–๐Ÿป. ์•„๋ž˜ ์ •๋ฆฌํ•œ ํฌ์ธํŠธ๋“ค์„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ!

 

 

1. ๊ธฐ์กด์˜ ํ”„๋ก ํŠธ์—”๋“œ ํŽ˜์ด์ง€๋Š” NGINX ์›น์„œ๋ฒ„๋ฅผ ์ธ์Šคํ„ด์Šค์— ์„ค์น˜ํ•˜์—ฌ ๊ด€๋ฆฌ

2. HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ธ์ฆ์„œ๋ฅผ ์„ค์น˜

3. S3 ์ •์ ์›นํ˜ธ์ŠคํŒ… ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฆฌ์Šค๋กœ ํ”„๋ก ํŠธ์—”๋“œ ํŽ˜์ด์ง€๋ฅผ ๊ด€๋ฆฌ

4. CloudFront์™€ Certification Manager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HTTPS๋ฅผ ์ธ์Šคํ„ด์Šค ์—†์ด ์ƒ์„ฑ

5. WAF๋ฅผ ์ด์šฉํ•˜์—ฌ ์ข€ ๋” ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•

6. Route53์„ ์ด์šฉํ•˜์—ฌ DNS๋ฅผ ์ด์ „ํ•˜๋Š” ๋ฐฉ๋ฒ•


์ž‘์„ฑํ•˜๊ฒŒ ๋œ ์ด์œ 

 

๋‘ ๋ฒˆ์งธ ๊ฐ•์˜๋Š” ์ฒ˜์Œ ์‹ค์Šตํ•  ๋•Œ๋ถ€ํ„ฐ ๋†“์ณค๋‹ค,, (์‹ค๊ฐ•,,,,,,,,๐Ÿ˜Ÿ๐Ÿ˜Ÿ)

์ฒซ ๋ฒˆ์งธ ๊ฐ•์˜๋•Œ๋Š” ์‹œ๊ฐ„์ด ์—†์–ด์„œ ๋‚ด๊ฐ€ ๊ฑธ๋ฆฐ ํฌ์ธํŠธ ๋ถ€๋ถ„๋งŒ ์ ์—ˆ๋”๋‹ˆ ๋‹ค์‹œ ๋ณด๋‹ˆ๊น ์™œ ์ด๋Ÿฌํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š”์ง€

๊ทธ๋ƒฅ ๋ณต๋ถ™ํ•œ ๊ฒƒ ๊ฐ™์•„์„œ ์ด๋ฒˆ์—๋Š” ๋‹ค๋ฅด๊ฒŒ ์ž‘์„ฑํ•ด๋ดค๋‹ค...!! (1์ผ์ฐจ ํ‚ค์›Œ๋“œ๋Š” ๋‹ค๋ฅธ ๊ณณ์— ์ž‘์„ฑํ–ˆ๋‹ค)

 

๋‚ด๊ฐ€ ๊ฐ•์˜๋ฅผ ๋†“์น˜๋ฉด์„œ ๊ฐ•์˜ ๋…ธํŠธ๋ฅผ ๋ณด๊ณ  ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ

๋„์—„๋„์—„ ์žˆ์–ด์„œ ๋‚ด ๋ฐฉ์‹ ๋Œ€๋กœ ๋‹ค์‹œ ์ ์–ด๋ณด๋ ค๊ณ  ํ–ˆ๋‹ค.

๋˜, ๋ช…๋ น์–ด๋“ค์— ๊ถ๊ธˆํ–ˆ๋˜ ์ ๋“ค์„ ์ ์—ˆ๋‹ค. ๊ธธ์ด๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด์„œ ์ ‘์–ด์„œ ์ ์—ˆ๋‹ค.

(๋ณต๋ถ™๋งŒ ํ•  ๊ฒƒ ๊ฐ™์€ ์ฝ”๋“œ๋“ค์ด๋‚˜ ์‹คํ–‰ ํ™”๋ฉด์€ ์•ˆ์ ์—ˆ๋‹ค.)

 

๊ทธ๋ž˜์„œ ํ•˜๋Š” ๊น€์— ์–ด์ œ์™€ ์˜ค๋Š˜ ์ดํ‹€์— ๊ฑธ์ณ์„œ ์ง„ํ–‰ํ•œ ๊ฐ•์˜๋ฅผ ์ •๋ฆฌ ํ•ด๋ดค๋‹ค. (ํ”„๋ก ํŠธ ์—”๋“œ ๋ถ€๋ถ„๋งŒ)

(1์ผ์ฐจ๋Š” ์ด ์ •๋ฆฌ, 2์ผ์ฐจ๋Š” ์š”์•ฝ)

 

์•„๋ž˜ ์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ •๋ฆฌํ–ˆ๋‹ค.

์ž‘์„ฑํ•˜๋Š” ๋ช…๋ น์–ด๊ฐ€ ์–ด๋–ค๊ฑด์ง€ ์•Œ๋ ค์ฃผ๋Š” ์‚ฌ์ดํŠธ โ–ถ๏ธ [ ํด๋ฆญ ]

 

 


1์ผ์ฐจ

 

EC2 ๋งŒ๋“ค๊ธฐ

aws์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค.

 

 

์›น ์„œ๋ฒ„ ์„ค์น˜ํ•˜๊ธฐ

๋”๋ณด๊ธฐ

* ๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ •์—์„œ HTTP 80์œผ๋กœ ์„ค์ • ํ›„

FileZilla๋ฅผ ๋จผ์ € ์‹คํ–‰ํ•˜๊ณ  ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ ๋ฐ ์„œ๋ฒ„ ์„ค์น˜๋ฅผ ํ–ˆ๋”๋‹ˆ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‹คํ–‰์ด ์•ˆ๋˜์—ˆ๋‹ค.

์™œ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์œผ๋‚˜ ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ ๋ฐ ์„œ๋ฒ„ ์„ค์น˜ ํ›„ FileZilla๋ฅผ ์‹คํ–‰ ํ–ˆ๋”๋‹ˆ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ผœ์กŒ๋‹ค.

 

 

โ–ท ์ธ์Šคํ„ด์Šค ์ ‘์†

ssh -i ํ‚คํŒŒ์ผ๊ฒฝ๋กœ ubuntu@ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ

 

 

โ–ท ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์—…๋ฐ์ดํŠธ

sudo apt-get update
explainshell

 

 

โ–ท ์›น์„œ๋ฒ„ ์„ค์น˜

sudo apt-get install nginx

* sudo : super do์˜ ์•ฝ์ž๋กœ ์ตœ๊ณ  ๊ด€๋ฆฌ์ž๊ฐ€ ๋‚ด๋ฆฌ๋Š” ๋ช…๋ น

https://m.blog.naver.com/tacma/20103243784

 

 

 * nginx๋ž€?

Nginx๋Š” ๊ฐ€๋ฒผ์›€๊ณผ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์›น์„œ๋ฒ„ ์†Œํ”„ํŠธ์›จ์–ด

[์ฐธ๊ณ ] https://azderica.github.io/00-network-nginx/

 

 

nginx ์ƒํƒœ ์ฒดํฌ, ์‹คํ–‰ ํฌํŠธ ํ™•์ธ, ์ ‘์† ํ™•์ธ  ์ƒ๋žต

 


 

 

๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ • ์ƒ๋žต

 

 

 

index ํŒŒ์ผ ๊ต์ฒด(Nginx ๊ธฐ๋ณธ ์ œ๊ณต html → index.html)

๋”๋ณด๊ธฐ

 

โ–ท Filezilla ์„œ๋ฒ„ ์ ‘์† ์„ค์ • 

์ƒ๋žต 

 

 

 

โ–ท ํŒŒ์ผ ํ™•์ธํ•˜๊ธฐ

~$ cd ~
~$ ls

 

cd ~ ์‚ฌ์šฉ์ž ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

* cd๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ด๋™ํ• ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ๋ชจ์Œ >>  https://shaeod.tistory.com/930

* ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด >> https://velog.io/@psj0810/

 

 

 

๐Ÿค” ~$๋Š” ์™œ ๋ถ™๋Š” ๊ฑธ๊นŒโ“โ“

~$ mkdir test
~$ cd test
~$ cd /etc/nginx

 

 ์œ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด๋ณด๊ณ  ํ™•์ธํ•ด๋ณด๋ฉด

 

 

:/etc/nginx$๋กœ ๋ฐ”๋€Œ์–ด ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ~$ ๋ผ๊ณ  ๋˜์–ด์žˆ์„ ๋•Œ๋Š” ํ™ˆ์— ์œ„์น˜์— ์žˆ์–ด์„œ ~$๋ผ๊ณ  ๋œฌ๊ฑฐ๊ณ 
cd๋กœ ์ด๋™์„ ํ•˜๋ฉด ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ~ ๋Œ€์‹  cd๋กœ ์ด๋™ํ•˜๊ฒŒ ๋œ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„์ด ๋œจ๊ณ 

$ ํ‘œ์‹œ๊ฐ€ ๋œฌ ๊ฒƒ์ด๋‹ค.

 

 

๐Ÿค”๐Ÿค” ํ•˜๋‚˜ ๋”!

cd test์˜€์„ ๋•Œ๋Š” ~$๊ฐ€ ์•ˆ๋ฐ”๋€Œ๋Š”๋ฐ ๊ทธ๋ƒฅ ํด๋” ๋ช…์„ ์ ์œผ๋ฉด ~$์œผ๋กœ ๋œจ๊ณ 

etc/nginx ์ฒ˜๋Ÿผ ๊ฒฝ๋กœ๋ฅผ ์ ์–ด์•ผ ~$๊ฐ€ ์•„๋‹Œ ํด๋”๋ช…$์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฑธ๊นŒ??

์•„๋‹ˆ๋ฉด ํ™ˆ์—์„œ ํด๋” ๋‚ด์˜ ํด๋” ๋ถ€ํ„ฐ "~" ๋Œ€์‹  "ํด๋”๋ช…$" ๋กœ ํ‘œ๊ธฐ๋˜๋Š” ๊ฑธ๊นŒ??

 

ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ์˜ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ์˜ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ถ€ํ„ฐ "~"์ด ์—†์–ด์ง„๋‹ค.

ex) ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ‘์˜ test ํด๋” ๋ฐ‘์˜ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ test1์ด ์žˆ์œผ๋ฉด test1๋ถ€ํ„ฐ๋Š” :/test/test1$ ์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.

(ํ•˜์œ„์˜ ํ•˜์œ„ ํด๋”๋ถ€ํ„ฐ ๋ฌผ๊ฒฐ์ด ์‚ฌ๋ผ์ง„๋‹ค..!)

 

๐Ÿ‘‰๐Ÿป ~ ๊ธฐํ˜ธ๊ฐ€ ๋‚ด ํ™ˆ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์น˜ํ™˜๋˜๋Š” ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•œ๋‹ค.

                   ~/test/test1
/home/ubuntu/test/test1 

 

์„œ๋กœ ๋™์ผํ•˜๋‹ค.

 

 

 

 

โ–ท ์„ค์ • ํŒŒ์ผ ํ™•์ธํ•˜๊ธฐ

#Nginx์˜ ์„ค์ • ํŒŒ์ผ ๊ฒฝ๋กœ
cat /etc/nginx/nginx.conf

 

cat์€ ์–ด๋–ค ๋‚ด์šฉ์„ ๋ฐ›์•„์„œ ๊ทธ๋ƒฅ ๊ทธ๋Œ€๋กœ ํ„ฐ๋ฏธ๋„ ํ™”๋ฉด์— ๋ฟŒ๋ ค์ฃผ๋Š” ์—ญํ• ์ด๋‹ค.

* nginx.conf : ๋ฉ”์ธ ์„ค์ • ํŒŒ์ผ

* cat : ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๊ณ  ํ‘œ์ค€ ์ถœ๋ ฅ์— ์ธ์‡„ (explainshell)

 

๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ณธ๋ช…๋ น์–ด - cat >> http://www.incodom.kr/Linux/

NGINX ์„ค์ • >> https://opentutorials.org/module/384/4526

 

๐Ÿ‘‰๐Ÿป /etc/nginx/nginx.conf ๊ฐ€ nginx ์„ค์ • ํŒŒ์ผ ๊ฒฝ๋กœ์ธ๋ฐ

์ด๊ฒŒ ํŒŒ์ผ์ด ์ž˜ ๋“ค์–ด๊ฐ”๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด cat ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ
cat + ํ•ด๋‹นํŒŒ์ผ ๊ฒฝ๋กœ ์ž…๋ ฅํ•ด๊ฐ€์ง€๊ณ  cat /etc/nginx/nginx.conf ๋ผ๊ณ  ์ž…๋ ฅํ•œ ๊ฒƒ์ด๋‹ค.

 

 

 

 

โ–ท ํŒŒ์ผ ๋ณต์‚ฌ

sudo cp ~/index.html /var/www/html

cp : ํŒŒ์ผ ๋ณต์‚ฌ ๋ช…๋ น์–ด

→ /home/ubuntu/index.html ํŒŒ์ผ ๋ณต์‚ฌ

 

 

* ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„์˜ ๊ธฐ๋ณธ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋Š” /var/www/html๋กœ ๋˜์–ด์žˆ๋‹ค.

์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ ๋งํฌ >> https://2pie.tistory.com/entry

 

 

 

 

nginx๋ฅผ ์„ค์น˜ํ•˜๊ณ  ํŒŒ์ผ ๋ณต์‚ฌ๋ฅผ ํ•˜์ง€ ์•Š๊ณ  ๋ธŒ๋ผ์šฐ์ €์— ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด

์•„๋ž˜์™€ ๊ฐ™์ด nginx ๊ธฐ๋ณธ ์ œ๊ณต html์ด ์ถœ๋ ฅ๋œ๋‹ค.

 

 

Filezilla์—์„œ ์„œ๋ฒ„ ์ ‘์† ์„ค์ •ํ•  ๋•Œ ์„œ๋ฒ„์— ํŒŒ์ผ์„ ์˜ฎ๊ธด ํ›„์— ํŒŒ์ผ ๋ณต์‚ฌ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

 


 

 

๋„๋ฉ”์ธ ์—ฐ๊ฒฐ

๋”๋ณด๊ธฐ

 

โ–ท EC2 IP ๋„ฃ๊ธฐ

 

๊ฐ€๋น„์•„์—์„œ ๋„๋ฉ”์ธ ์„ค์ •ํ•  ๋•Œ www๋ฅผ ์ž…๋ ฅ์•ˆํ•˜๊ณ  @๋กœ ์ž…๋ ฅํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‹คํ–‰์ด ์•ˆ๋˜์—ˆ๋‹ค.

์™œ ์•ˆ๋˜๋Š”์ง€ ๋ชฐ๋ผ์„œ ๋‹ค์‹œ ์‹คํ–‰ํŒŒ์ผ ์„ค์น˜์˜ ๋ฐ˜๋ณต,,

 

 

 

 

์ธ์ฆ์„œ ์ƒ์„ฑ์„ ์œ„ํ•œ ์‚ฌ์ดํŠธ ์ถ”๊ฐ€

 

โ–ท ์œ„์น˜ ์ด๋™

cd /etc/nginx/conf.d/

 

ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ฐ ์›น์‚ฌ์ดํŠธ๋Š” ๋ฐ˜๋“œ์‹œ /etc/nginx/conf.d/ ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— 

example.com.conf ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ž ์ž์‹ ๋งŒ์˜ configuration ํŒŒ์ผ์„ ๊ฐ–๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.

[Nginx] ๊ธฐ๋ณธ ์„ค์ • ๋ฐฉ๋ฒ• >> https://architectophile.tistory.com/12 

 

 

๐Ÿค” .d โ“  “D”irectory์˜ “D”๋ฅผ ๋ถ™์—ฌ ์„ค์ •์„ ์œ„ํ•œ ‘๋””๋ ‰ํ„ฐ๋ฆฌ’์ž„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

https://www.bangseongbeom.com/trailing-dot-d-in-directory-names.html

 

 

 

 

โ–ท ์„ค์ •ํŒŒ์ผ ์ถ”๊ฐ€

sudo vi www.conf
explainshell
server {
    listen         80;
    server_name    ////.shop www.////.shop;
    root           /home/ubuntu/;
    index          index.html;
    try_files $uri /index.html;
}

 

์„ค์ •ํŒŒ์ผ ์ถ”๊ฐ€์—์„œ server_name์€ ์ž๊ธฐ ๋„๋ฉ”์ธ ์ฃผ์†Œ ์ž…๋ ฅํ•ด์•ผํ•œ๋‹ค.
๊ทธ๋ž˜์•ผ์ง€ ์ด๋Ÿฌํ•œ ์ฃผ์†Œ๋กœ ๋“ค์–ด์™”์„ ๋•Œ index.html ์‹คํ–‰ํ•œ๋‹ค..!!

์•„๋ฌด์ƒ๊ฐ ์—†์ด ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ–ˆ๋‹ค๊ฐ€ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์•˜๋‹ค.

 

 

 

 

โ–ท nginx ์žฌ์‹œ์ž‘

sudo service nginx restart

 

 

 

ํŒŒ์ผ ๋‚ด์šฉ ์ˆ˜์ • ํ›„ ํ™•์ธํ•˜๊ธฐ

 

โ–ท ํด๋” ์ด๋™

cd ~/
pwd

~ : ํ™ˆ
/ : ๋ฃจํŠธ

* pwd ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ค€๋‹ค..!!

(๋ญ”๊ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ช…๋ น์–ด ๊ฐ™์•˜๋‹ค..)

 

 

 

 

โ–ท ํŒŒ์ผ ์ˆ˜์ •ํ•˜๊ธฐ

vi index.html

 

์ˆ˜์ •ํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์ด "/"(์Šฌ๋ž˜์‹œ) ์ž…๋ ฅ ํ›„ ์ฐพ์„ ํ‚ค์›Œ๋“œ ์ž…๋ ฅํ•˜๋ฉด ๋ฐ”๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

 

โ–ท ์ธ์ฆ์„œ ๋งŒ๋“ค๊ธฐ

https://letsencrypt.org/ko/ # letsencrypt ์‚ฌ์ดํŠธ

 

 

 

 

โ–ท ์„ค์น˜ ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ(3๊ฐœ_์ธ์ฆ์„œ ์‚ฌ์ดํŠธ ๋‚ด์—์„œ ๋‚˜์˜ค๋Š” ์„ค์น˜ ๋ฐฉ๋ฒ•)

sudo snap install core; sudo snap refresh core
sudo snap install core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

 

 

 

 

โ–ท ์ธ์ฆ์„œ ์„ค์น˜

sudo certbot --nginx

 

์œ„ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ–ˆ๋”๋‹ˆ 

 

snap "core" is already installed, see 'snap help refresh'
snap "core" has no updates available

 

๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ๋‚˜์™”๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์‹œ ์„ค์น˜ ํ™˜๊ฒฝ ๋งŒ๋“œ๋Š” ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋‹ค์‹œ ์‹คํ–‰ํ•ด๋„ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”๋‹ค.

์ผ๋ถ€ fail์ด๋ผ๋Š” ๊ฒฐ๊ณผ์™€ ํ•จ๊ป˜,,,

์—ฌ๊ธฐ์„œ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•์€ ๊ทธ๋ƒฅ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ๋ฌด์‹œํ•˜๊ณ  ๋‹ค์‹œ ์ธ์ฆ์„œ ์„ค์น˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ ํ›„

์ด๋ฉ”์ผ์„ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค...!

 

 

* ์ฐธ๊ณ ) ์—๋Ÿฌ๋– ์„œ ์ด๊ฒƒ์ €๊ฒƒ ์ž‘์„ฑํ•œ ๋ช…๋ น์–ด๋“ค

ping www.๋„๋ฉ”์ธ๋ช….shop
# ์‹ค์ œ ์ปดํ“จํ„ฐ๊ฐ€ ์ผœ์ ธ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด

telnet www.๋„๋ฉ”์ธ๋ช….shop 443
#ํ•ด๋‹น ํฌํŠธ๊ฐ€ ์ ‘์† ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธ(์—ฌ๊ธฐ์„œ๋Š” https ํฌํŠธ๋ฒˆํ˜ธ์ธ 443)

 

 

 

 

โ–ท nginx ์„ค์ •

cat /etc/nginx/conf.d/www.conf

 

if ๋กœ ์‹œ์ž‘๋˜๋Š” ๋ถ€๋ถ„์ด ์•ˆ๋‚˜ํƒ€๋‚œ๋‹ค๋ฉด ์„ค์น˜ ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ ๋‹ค์‹œ ์ง„ํ–‰ํ•œ๋‹ค.

 

 ๊ทธ๋ฆฌ๊ณ  aws ๋ณด์•ˆ๊ทธ๋ฃน ํฌํŠธ ์ถ”๊ฐ€์—์„œ https ์ถ”๊ฐ€ํ•œ๋‹ค.

 


 

 

S3 ํ™œ์šฉํ•˜๊ธฐ & S3 ์ •์  ์›น ํ˜ธ์ŠคํŒ…

๋”๋ณด๊ธฐ

 

โ–ท ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ

 

๊ฐ€๋น„์•„์—์„œ ํƒ€์ž…์„ CNAME๋กœ ๋ฐ”๊พธ๊ณ  url์„ ์ •์  ์›น ํ˜ธ์ŠคํŒ… url๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  

๋„๋ฉ”์ธ ์ฃผ์†Œ๋กœ ์ž…๋ ฅ์„ ํ–ˆ๋Š”๋ฐ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์•˜๋‹ค.

 

๊ทธ๋ƒฅ url๋กœ ์ž…๋ ฅํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์•„๋ฌด๋ฆฌ ์ž…๋ ฅํ•ด๋„ ์•ˆ๋˜๊ธธ๋ž˜

ํ•˜๋ฃจ ์ง€๋‚˜๋„ ์•ˆ๋˜๋Š” ๊ฑด ์ด์ƒํ•ด์„œ ์ฃผ์†Œ๋ฅผ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํ™•์ธํ•ด๋ดค๋”๋‹ˆ

๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋™์œผ๋กœ https://๋กœ ๋ฐ”๊ฟ”์„œ ์‹คํ–‰์ด ์•ˆ๋˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

http://๋กœ ๋ฐ”๊ฟจ๋”๋‹ˆ ์‹คํ–‰์ด ์ž˜ ๋˜์—ˆ๋‹ค..!! (ํ™”๋ฉด์ด ์ž˜ ๋–ด๋‹ค.)

 

 

Not Found๋กœ ๋‚˜์˜ค๋Š” ์ด์œ  

BucketName์ด S3 Bucket ์ด๋ฆ„๊ณผ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

S3 Bucket ์ด๋ฆ„๊ณผ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๊ฐ™๊ฒŒ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ Cloudfront๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

์ด ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด Not Found๋กœ ๋‚˜์˜ค์ง€ ์•Š๊ณ  ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค.

 

HTTPS๊ฐ€ ํ•„์š”ํ•˜๋ฉด Cloudfront๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค!
Cloudfront๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์„๋•Œ๋Š” ๋ฒ„ํ‚ท๋ช…์„ ๋„๋ฉ”์ธ๋ช…๊ณผ ๋˜‘๊ฐ™์ด ์ƒ์„ฑํ•ด์„œ

DNS์— CNAME ํ•˜๋ฉด ํŽ˜์ด์ง€๊ฐ€ ๋œฌ๋‹ค.

 

 

์ฐธ๊ณ )

 

ssh ์ธ์ฆ์„œ๋Š” *pem ํŒŒ์ผ, ssl ์ธ์ฆ์„œ๋Š” cerbot์œผ๋กœ ์ ์šฉํ•œ๋‹ค.

*.pem : aws ec2 ๋กœ๊ทธ์ธ์šฉ ์ธ์ฆ์„œ
certbot : https ssl ์ธ์ฆ์„œ

 

์ธ์Šคํ„ด์Šค ์ ‘์†ํ•  ๋•Œ ์ธ์ฆ์„œ๋Š” ssh์ด๊ณ  https๋กœ ์ธ์ฆ๋ฐ›์„ ๋•Œ ์ผ๋˜ ์ธ์ฆ์„œ๋Š” ssl์ด๋ผ๋Š” ๋ง์ด๋‹ค.

 

ํ˜„์žฌ๋Š” ec2 ์ธ์Šคํ„ด์Šค์—๋งŒ ssh์™€ ssl์ด ์ ์šฉ๋˜์–ด ์žˆ๋‹ค.

s3๋‚˜ ์ •์  ์›น ํ˜ธ์ŠคํŒ…์—๋Š” ์–ด๋Š ์ธ์ฆ์„œ๋„ ์ ์šฉ๋˜์ง€ ์•Š์•„

s3๋ฅผ ์ด์šฉํ•ด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ‚ฌ ๋•Œ๋Š” ssl์ด ์—†์–ด์„œ http๋กœ ์ด์šฉํ•ด์•ผํ•˜๊ณ 
ssh๊ฐ€ ์—†์–ด์„œ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด(window:git bash)๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

s3์—์„œ ssl์€ cloudfront ์ ์šฉํ•˜๋ฉด ssl ์ ์šฉํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๊ณ  sssh๋Š” ์ ์šฉ์ด ์•ˆ๋œ๋‹ค.

 

 

 


2์ผ์ฐจ

 

WAF ๋งŒ๋“ค๊ธฐ

 

 

์ฒ˜์Œ์— Create web ACL์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด์„œ ๋ถ€ํ„ฐ ๊ฐ•์˜๋ฅผ ๋†“์ณค๋‹ค.

๊ทธ๋ž˜์„œ ๊ฐ•์˜๋…ธํŠธ ์ž๋ฃŒ๋กœ ์ฐธ๊ณ ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๊ฐ•์˜ ๋…ธํŠธ์—์„œ ํ๋ฆ„์ด ๋Š๊ธด ์บก์ณ๋ฅผ ๋ณด๊ณ ์„œ 

ํ•ด๋‹น ํƒญ์„ ์ฐพ๋Š๋ผ ์•„์˜ˆ ๋†“์น˜๊ฒŒ ๋˜์—ˆ๋‹ค... (๋‚ด๊ฐ€ aws๋Š” ์ฒ˜์Œ์ด๋ผ์„œ ์ฒด๊ฐ์ƒ ๋„ˆ๋ฌด ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค๐Ÿ˜ฅ)

๊ทธ๋ž˜์„œ ์Šฌ๋ž™์œผ๋กœ ํŒ€์›๋“ค์—๊ฒŒ ๋‚˜๋Š” ์ถ”ํ›„์— ๋‹ค์‹œ ๋“ค์–ด์•ผ ๊ฒ ๋‹ค. ์˜ค๋ฅ˜ ๋•Œ๋ฌธ์— ๋†“์ณค๋‹ค๊ณ  ํ–ˆ๋”๋‹ˆ

ํŒ€์› ๋ชจ๋‘๊ฐ€ ๋†“์ณค๋‹ค๊ณ  ํ•œ๋‹ค...๐Ÿ˜‚  (์คŒ ๊ฐ•์˜์—์„œ ๋‹ค๋“ค ์† ๋–ผ๊ณ  ์žˆ๊ธธ๋ž˜ ๋‚˜๋„ ๊ทธ๋ƒฅ ๋ณด๊ธฐ๋งŒ ํ–ˆ๋‹ค.)

 

๋‚ด๊ฐ€ ๋ณธ ์˜ค๋ฅ˜๋Š” ์œ„์™€ ๊ฐ™์•˜๋Š”๋ฐ ์Šฌ๋ž™์— ์ €๋Š” ์ด๋Ÿฐ ์˜ค๋ฅ˜ ๋– ์„œ ๋ฉˆ์ท„์Šต๋‹ˆ๋‹คใ…œใ…œ ํ–ˆ๋”๋‹ˆ

๋‚ด IP์ฃผ์†Œ/32๋กœ ์ž‘์„ฑํ•ด์•ผ ํ–ˆ๋Š”๋ฐ ๋‚ด IP์ฃผ์†Œ/30์œผ๋กœ ์ž‘์„ฑํ•ด์„œ ์ƒ๊ธด ์˜ค๋ฅ˜์˜€๋‹ค.

( ๋‚œ ์™œ 30์œผ๋กœ ๋“ค์—ˆ๋Š”๊ฐ€...!! ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ๋†“์น˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.. )

 

Create IP set ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด rule์„ ์ถ”๊ฐ€ํ•ด์•ผํ•˜๋Š”๋ฐ ๊ทธ rule์ด ์–ด๋””์žˆ๋Š”์ง€ ๋ชฐ๋ž๋‹ค.

์™ผ์ชฝ ํƒญ์— Web ACLs์„ ํด๋ฆญ ํ›„์— ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ IP set name์„ ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋œฌ๋‹ค.

 

1. IP set name

 

 

์ถ”ํ›„์— ์š”์•ฝ ์˜ˆ์ •,,, ๐Ÿ˜‚ (1์ผ์ฐจ ๊ฐ•์˜ ์ •๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค..)

 

 


์˜ค๋Š˜์˜ ์ค‘์š” ํ‚ค์›Œ๋“œ REST API์™€ CRUD

 

 

REST API ๋ž€?

REST ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋น„์Šค API๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒƒ

REST๋ž€ ์ž์›์„ ์ด๋ฆ„(์ž์›์˜ ํ‘œํ˜„)์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•ด๋‹น ์ž์›์˜ ์ƒํƒœ(์ •๋ณด)๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์˜๋ฏธ

API๋ž€ ๋ฐ์ดํ„ฐ์™€ ๊ธฐ๋Šฅ์˜ ์ง‘ํ•ฉ์„ ์ œ๊ณตํ•˜์—ฌ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ์„ ์ด‰์ง„ํ•˜๋ฉฐ,

์„œ๋กœ ์ •๋ณด๋ฅผ ๊ตํ™˜๊ฐ€๋Šฅ ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ

 

 

CRUD๋ž€?

CRUD๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ปดํ“จํ„ฐ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๊ฐ€์ง€๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์ธ 

Create(์ƒ์„ฑ), Read(์ฝ๊ธฐ), Update(๊ฐฑ์‹ ), Delete(์‚ญ์ œ)๋ฅผ ๋ฌถ์–ด์„œ ์ผ์ปซ๋Š” ๋ง์ด๋‹ค. 

 

 

REST API

https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

https://velog.io/@whoyoung90/RESTful-API%EB%9E%80

 

CRUD

https://livedata.tistory.com/3

https://velog.io/@pock11/REST-API-CRUD

 


๐Ÿค”โ“

* ๊ถ๊ธˆ์ฆ ํ•ด๊ฒฐ !! ๐Ÿ‘‰๐Ÿป 2021.10.30 - [spartacodingclub/TIL] - 47์ผ์ฐจ

 

๊ถ๊ธˆ์ฆ 1.

ํŒŒ์ผ ์ˆ˜์ •์„ ํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•ด์„œ 

vi index.html

 

๊ฐ€๊ฒฉ์„ 3,000์›์—์„œ 10,000์›์œผ๋กœ ๊ณ ์นœ ํ›„์— ์‹คํ–‰์„ ์‹œ์ผฐ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ s3์—์„œ ํŒŒ์ผ์„ ์—…๋กœ๋“œ ํ–ˆ์„ ๋•Œ ๋™์ผ ํŒŒ์ผ์ธ index.html์„ ์—…๋กœ๋“œ ํ–ˆ๋Š”๋ฐ

๊ฐ€๊ฒฉ์ด 3,000์›์œผ๋กœ ๋‚˜์™”๋‹ค.

 

์ธ์Šคํ„ด์Šค ์ ‘์†์—์„œ ์ˆ˜์ •ํ•œ ๊ฒƒ์€ ์ธ์Šคํ„ด์Šค ์ ‘์† ๋‚ด์—์„œ๋งŒ ๋ณ€๊ฒฝํ•œ ๊ฒƒ์ด๋ผ ์›๋ž˜์˜ ํŒŒ์ผ์—์„œ๋Š” ์ˆ˜์ •์ด ์•ˆ๋˜๋Š” ๊ฑด๊ฐ€?? 

 

 

 

 

๊ถ๊ธˆ์ฆ 2.

s3์™€ s3 ์ •์  ์›นํ˜ธ์ŠคํŒ…์ด ์žˆ๋Š”๋ฐ s3๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์€๋ฐ s3 ์ •์  ์›น ํ˜ธ์ŠคํŒ…์€ ์™œ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๊นŒ?

๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. url ์ฐจ์ด๋งŒ ์žˆ๊ณ  ํฐ ์ฐจ์ด๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๊ถ๊ธˆํ•˜๋‹ค..!!

http://~~~~.amazonaws.com/index.html # s3
http://~~~~.amazonaws.com # s3 ์ •์  ์›น ํ˜ธ์ŠคํŒ…

 

 


๋‚˜๋Š” ์ง„ํ–‰๋˜๋Š” ๊ฐ•์˜์— ๋”ฐ๋ผ๊ฐ€์ง€ ๋ชปํ•˜๋Š” ๊ฑธ๊นŒ..๐Ÿ˜ฅ

1์ผ์ฐจ ์™„์ „ํžˆ ์ดํ•ดํ•  ๋•Œ๊นŒ์ง€ ํ’€์ด ์ ๊ณ  ์˜ค๋Š˜ ์ง„๋„ ๋‚˜๊ฐ„ ๋ถ€๋ถ„์„ ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ๋ณด๋‹ˆ

์‹œํ—˜๊ณต๋ถ€ํ•  ์‹œ๊ฐ„๋ฐ–์— ๋‚จ์ง€ ์•Š์•„์„œ ๋‚ด์ผ ์‹ค๊ฐ•์— ๋“ฃ๊ธฐ ์ „๊นŒ์ง€ ๊ผญ ํ•ด์•ผํ•˜๋Š” ๋ถ€๋ถ„๋งŒ ํ›„๋‹ค๋‹ฅ ์ž‘์„ฑํ–ˆ๋‹ค.

(์ •๋ฆฌ๋Š” ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค,, ์ˆ˜์—… ๋‚ด์—์„œ ์ž‘์„ฑํ•œ ๋ฉ”๋ชจ๋“ค์€ ๋‚˜์ค‘์— ์ถ”ํ•ฉํ•ด์„œ ์ •๋ฆฌํ•ด์•ผํ•  ๋“ฏ ์‹ถ๋‹ค.)

 

์–˜๊ฐ€ ์™œ ์ด๋ ‡๊ฒŒ ์ง„ํ–‰๋˜๋Š”์ง€ ์ด๋Ÿฐ ํ๋ฆ„๋“ค์€ ์ถ”ํ›„์— ๋…นํ™” ๋œ ๊ฐ•์˜๋ณด๋ฉด์„œ ๊ณต๋ถ€ํ•ด์„œ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค.

์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€!! ๐Ÿ˜†๐Ÿ˜†

 

 

 

728x90

'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

50์ผ์ฐจ(1์ผ์ฐจ ์šฉ์–ด์ •๋ฆฌ)  (0) 2021.11.01
48์ผ์ฐจ  (0) 2021.10.30
45์ผ์ฐจ  (0) 2021.10.28
44์ผ์ฐจ  (0) 2021.10.27
43์ผ์ฐจ  (0) 2021.10.25