μλ²μμ httpsλ₯Ό μ¬μ©νκΈ° μν΄μλ λ¨Όμ λλ©μΈ νλλ₯Ό ꡬμ ν΄μΌ ν©λλ€.
λ€λ§, μμ§ κ³΅λΆλ ν μ€νΈλ₯Ό μν΄μ λλ©μΈμ λ¨Όμ ꡬμ νκΈ°μλ λΆλ΄μ€λ½κ² μ£ ?
κ·Έλμ λ¨Όμ ꡬμ ν λλ©μΈ μμ΄
λ‘컬μμ λλ©μΈ νλλ₯Ό λ§μλλ‘ μμ±νμ¬ μ¬μ©μ ν΄ λ³Ό κ²μ λλ€.
κ·Έλ¦¬κ³ λ€μ κΈμμλ μ΄λ₯Ό μ΄μ©νμ¬ https μ μ©μ ν΄ λ³Ό κ²μ λλ€.
μλμ λ΄μ©μ μλμ°μ¦ 10 κΈ°μ€μΌλ‘ μμ±λ λ΄μ©μ λλ€. μ΄μ μ°Έκ³ νμκΈ° λ°λλλ€.
1. hosts νμΌ μμ
κ°. μ΄ λ°©λ²μ μμΌλ‘ μλ²μμ μ¬μ©ν λλ©μΈμ 미리 λ‘컬μμ ν μ€νΈ νκ±°λ, λλ λ§μλλ‘ λλ©μΈμ λ§λ€μ΄ μ¬μ©νλ λ°©λ²μ λλ€.
λ. λΈλΌμ°μ μμ λλ©μΈμ μ λ ₯νλ©΄ μΈλΆ DNS μλ²μμ ν΄λΉ λλ©μΈμ λν ipλ₯Ό νμΈ ν ν΄λΉ ipμ μλ²λ‘ μ°Ύμκ°κ² λ©λλ€. κ·Έλ°λ°, κ·Έ μ μ λ¨Όμ μ»΄ν¨ν° λ΄λΆμ μλ hosts νμΌμ λ¨Όμ μ°Έκ³ νκ² λ©λλ€. μ¬κΈ°μ νΉμ λλ©μΈμ λν ip λ΄μ©μ΄ κΈ°λ‘λμ΄ μλ€λ©΄ μΈλΆ DNSλ₯Ό νμΈνμ§ μκ³ , λ°λ‘ hosts νμΌμ μ°Έκ³ νμ¬ ν΄λΉ μλ²λ₯Ό μ°Ύμκ°κ² λ©λλ€.
λ§μ½, μ κ° hosts νμΌ μμ μλμ κ°μ΄ μ λ ₯ν΄ λλ€λ©΄, λΈλΌμ°μ μ www.naver.com μ΄λΌκ³ μ λ ₯νμ λ μ€μ λ€μ΄λ² μλ²λ‘ κ°λ κ²μ΄ μλλΌ λ‘컬 μλ²λ‘ μ μμ΄ λ©λλ€.
127.0.0.1 www.naver.com
μ 127.0.0.1 μ΄λΌλ μμ΄νΌ λμ , ν΄μ»€κ° μμ μ μλ² μμ΄νΌ μ£Όμλ₯Ό μ λ ₯ν΄ λκ³ , κ·Έ ν΄μ»€ μλ²μ λ€μ΄λ²μ λκ°μ΄ μκΈ΄ ν΄νΉ μ¬μ΄νΈλ₯Ό μ¬λ €λλ€λ©΄, μ΄μ μ¬μ©μκ° www.naver.com μ΄λΌκ³ μ λ ₯νλ©΄ μ€μ λ€μ΄λ²λ‘ μ μλμ§ μκ³ ν΄μ»€ μλ²λ‘ μ μμ΄ λλ΅λλ€. (κ·Έλμ, μ΄λ₯Ό λ°©μ§νκ³ μ μ»΄ν¨ν° λ°μ΄λ¬μ€ λ°±μ νλ‘κ·Έλ¨μ hostsκ° λ³μ‘°λλ κ²μ μ°¨λ¨νλ κΈ°λ₯μ΄ μμ΅λλ€.)
μ¬κΈ°μ μ°λ¦¬λ μ hosts νμΌμ μμ ν κ²μ΄κΈ° λλ¬Έμ, μ μ₯ν λ λ°μ΄λ¬μ€ λ°±μ λλ¬Έμ μ μ₯μ΄ μλλ€λ©΄ λ°μ΄λ¬μ€ λ°±μ μ μ μ μ€μ§μν¨ ν μμ μ ν΄μΌ ν©λλ€.
λ€. (μ€μ) hosts νμΌμ μμ νμ¬ μ μ₯μ νλ €λ©΄ λ°λμ κ΄λ¦¬μ κΆνμΌλ‘ λ©λͺ¨μ₯μ μ€νμμΌμΌ ν©λλ€. λ©λͺ¨μ₯μ κ΄λ¦¬μ κΆνμΌλ‘ μ€νμμΌμ€λλ€.

λΌ. λ©λͺ¨μ₯μμ μ΄κΈ°λ₯Ό λλ₯Έ ν C:\Windows\System32\drivers\etc\ ν΄λλ₯Ό μ°Ύμκ° ν μλμͺ½ νν°λ₯Ό 'λͺ¨λ νμΌ(*.*)'λ‘ λ°κΎΌ ν, hosts νμΌμ μ΄μ΄μ£Όλ©΄ λ©λλ€.


λ§. hosts νμΌ λ§¨ μλ«μͺ½μ ν μ€νΈλ₯Ό μνλ λλ©μΈμ λͺ¨λ μ λ ₯ν΄ μ€λλ€. κ·Έλ¦¬κ³ μ μ₯μ ν΄μ€λλ€. μ μ κ²½μ° AhnLab Safe Transaction μμ hosts νμΌ λ³κ²½μ νμ§νλ€μ. κ·Έλμ μ λ μλμ€λ₯Ό λλ¬ μμ μ ν΄μ£Όμμ΅λλ€.

λ°. hosts νμΌμ μμ νμμΌλ©΄ λΈλΌμ°μ λ₯Ό μ΄κ³ , μ λλ©μΈμΌλ‘ μ°κ²°μ ν΄λ³΄λ©΄ λͺ¨λ λ‘컬 μ¬μ΄νΈκ° μ΄λ¦¬λ κ²μ νμΈν μ μμ΅λλ€. (νμ¬λ λͺ¨λ λλ©μΈμ΄ λ€ 80ν¬νΈλ‘ μ μνλ κ²μ΄κΈ°μ νλ©΄μ΄ λͺ¨λ κ°κ² λμ€λ κ²μ λλ€. μ΄κ²μ μλ«κΈμμ μμ μ ν κ²μ λλ€.)

2. μμ΄νΌ λμ λλ©μΈ μ¬μ© (Nginx - Reverse Proxy κΈ°λ₯)
κ°. μ°λ¦¬λ μμμ μλ¨μ μλ Nginxμ Reverse Proxy κΈ°λ₯μ μ΄μ©νμ¬ 2κ°μ nginxμλ²(Load Balancing), phpμ μ°λλ nginx μλ², phpmyadmin μλΉμ€λ₯Ό ꡬννμμ΅λλ€. μ΄λ μ°λ¦¬λ λ‘컬μ μμ΄νΌλ₯Ό μ΄μ©νμ¬ μ μμ νμμ΅λλ€.
μ΄μ μ°λ¦¬λ μμ΄νΌκ° μλ μ hosts νμΌμμ μ μ΄μ€ λλ©μΈμ μ΄μ©νμ¬ κ°κ°μ μλ²μ€μ μ μμ νλλ‘ λ§λ€κ²μ λλ€.
λ. docker>front ν΄λ μμ default.conf νμΌμ μλμ κ°μ΄ μμ ν΄ μ€λλ€.
upstream docker-nginx { server web; server web2; } server { listen 80; server_name mungssem.kr www.mungssem.kr; #μΆκ° λΆλΆ #80ν¬νΈλ‘ λ€μ΄μμ λ μ μ μ£Όμκ° mungssem.krμ΄κ±°λ, www.mungssem.krμΌ κ²½μ° #λ³Έ server ꡬ문μμ μ²λ¦¬λ¨. location / { proxy_pass http://docker-nginx; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffering off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; } } server { #listen 8080; #μ£Όμ μ²λ¦¬ listen 80; #μΆκ° λΆλΆ server_name php.mungssem.kr; #μΆκ° λΆλΆ #λμ΄μ 8080ν¬νΈλ₯Ό μ΄μ΄λ νμ μκ³ , #80ν¬νΈλ‘ λ€μ΄μμ λ μ μ μ£Όμκ° php.mungssem.krλΌλ©΄ #λ³Έ server ꡬ문μμ μ²λ¦¬λ¨. location / { proxy_pass http://web3; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffering off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; } } server { #listen 8888; #μ£Όμ μ²λ¦¬ listen 80; #μΆκ° λΆλΆ server_name db.mungssem.kr; #μΆκ° λΆλΆ #λμ΄μ 8888ν¬νΈλ₯Ό μ΄μ΄λ νμ μκ³ , #80ν¬νΈλ‘ λ€μ΄μμ λ μ μ μ£Όμκ° db.mungssem.krλΌλ©΄ #λ³Έ server ꡬ문μμ μ²λ¦¬λ¨. location / { proxy_pass http://mung_phpmyadmin; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffering off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; } }
λ€. docker-compose.yml μμ (λμ΄μ νμμλ 8080, 8888ν¬νΈλ₯Ό μ£Όμμ²λ¦¬ν¨)
version: '3.9' networks: mungnet: driver: bridge mungnet_two: driver: bridge services: front_nginx: container_name: front_nginx_cname image: nginx:1.23.1-alpine restart: always ports: - "80:80" #- "81:81" #μ£Όμ μ²λ¦¬ λλ μμ #- "8080:8080" #μ£Όμ μ²λ¦¬ λλ μμ #- "8888:8888" #μ£Όμ μ²λ¦¬ λλ μμ volumes: ######## μ΄ν μλ λ΄μ©μ λͺ¨λ λμΌν©λλ€. ##########
λΌ. μ΄μ λ‘컬μμ docker compose up -d λͺ λ Ήμ μ€νμ ν ν, μλμ κ°μ΄ μ μν΄ λ³΄λ©΄ κ°κ°μ μλΉμ€λ‘ μ μ μμ΄ λλ κ²μ λ³Ό μ μμ΅λλ€.

3. μ°Έκ³ μ¬ν
κ°. μμμ μ¬μ©ν λλ©μΈμ μ°λ¦¬κ° λ‘컬μμμ μμ μ μν΄ μμλ‘ λ§λ κ²μ΄κΈ°μ, μ μμ ν κ²μ git pushλ₯Ό νμ¬ μλ²λ‘ μ μ‘νλ€ νλλΌλ, μλ²μμλ μ λλ©μΈμΌλ‘ μ μμ΄ λμ§ μκ³ , μ¬μ ν μλ² μμ΄νΌλ‘λ§ μ μμ΄ κ°λ₯ν©λλ€.
λ. λμ΄μ μ§λλ₯Ό λκ°μ§ μμ κ²½μ° μμμ μμ ν hosts νμΌμ μλλλ‘ μμ ν΄ λμΌμΈμ.
πΊπΊ μμ ν λͺ¨λ μμ€λ μλ λ§ν¬μμ νμΈνμ€ μ μμ΅λλ€. πΊπΊ
https://github.com/mmssem/progstudy
GitHub - mmssem/progstudy
Contribute to mmssem/progstudy development by creating an account on GitHub.
github.com
πΊ λͺ©μ°¨ πΊ(보μλ €λ©΄ μλ λ보기 λ₯Ό λλ¬μ£ΌμΈμ.)
1. Dockerλ₯Ό μ¬λνκ² λ μ΄μ (Docker+Nginx_proxy+SSL+Github action)
2. Docker μ€μΉ (Docker+Nginx_proxy+SSL+Github action)
3. MobaXterm (Docker+Nginx_proxy+SSL+Github action)
5. λ‘컬μ nginx(μΉμλ²) μ€μΉν΄λ³΄κΈ° (Docker+Nginx_proxy+SSL+Github action)
6. μλ² μλ λ°°ν¬ (1) λ‘컬 => github (Docker+Nginx_proxy+SSL+Github action)
7. μλ² μλ λ°°ν¬ (2) μλ²μ μλ λ°°ν¬λ₯Ό μν runner μ€μΉ
8. μλ² μλ λ°°ν¬ (3) λ‘컬 μμ€ -> git push -> github -> μλ² μλ λ°°ν¬ νμΈ
9. (tip) git Add, Commit, push νλ²μ νκΈ°
10. μλ² μλ λ°°ν¬ (4) λ°°ν¬μ μλ²μμ docker-compose.yml μλ μ€ν
11. μλ²μ vnstat μ€μΉ (docker-compose.yml μ΄μ©)
12. μλ²μ λ컀 μ€μΉμ network μ€μ λ³κ²½ μ¬ν νμΈνκΈ°
13. nginx + php + mysql + phpmyadmin μ€μΉνκΈ°
14. Nginx - Reverse Proxy, Load Balancing κΈ°λ₯ νμ©
15. λ‘컬μμ μμ΄νΌ λμ λλ©μΈλͺ μ¬μ©νκΈ°(hosts μμ )
16. httpsλ₯Ό μ°κΈ° μν΄ λ‘컬μμ SSL ν μ€νΈ νκΈ° (with mkcert)
17. μλ²μ SSL μ μ©νκΈ° (docker + Let's Encrypt + wildcard μΈμ¦μ + Cloudflare)
18. μμΌλμΉ΄λ μΈμ¦μ μλ κ°±μ (docker + Let's Encrypt + wildcard μΈμ¦μ + crontab)