Moving from Synology Reverse Proxy to Nginx Proxy Manager

Moving from Synology Reverse Proxy to Nginx Proxy Manager

๐Ÿ“‹ ๊ฐœ์š”

๊ธฐ์กด์— ์‹œ๋†€๋กœ์ง€ NAS์˜ ๋‚ด์žฅ ์—ญ๋ฐฉํ–ฅ ํ”„๋ก์‹œ์™€ Let's Encrypt ์ธ์ฆ์„œ๋กœ ์šด์˜ํ•˜๋˜ ์„œ๋น„์Šค๋“ค์„ ๋ณ„๋„์˜ NPM(Nginx Proxy Manager)์œผ๋กœ ํ†ตํ•ฉ ๊ด€๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ—๏ธ ๊ธฐ์กด ํ™˜๊ฒฝ

  • NAS1 (192.168.1.13): ์‹œ๋†€๋กœ์ง€ ๋ฉ”์ธ ์„œ๋ฒ„
  • Let's Encrypt SSL ์ธ์ฆ์„œ ๊ด€๋ฆฌ
  • ์‹œ๋†€๋กœ์ง€ ๋‚ด์žฅ ์—ญ๋ฐฉํ–ฅ ํ”„๋ก์‹œ๋กœ ์„œ๋ธŒ๋„๋ฉ”์ธ ๊ด€๋ฆฌ
  • ๊ณต์œ ๊ธฐ ํฌํŠธํฌ์›Œ๋”ฉ: 80/443 โ†’ NAS1
  • NAS2 (192.168.1.158): ์ƒˆ๋กœ์šด NPM ์ „์šฉ ์„œ๋ฒ„

๐ŸŽฏ ๋ชฉํ‘œ ํ™˜๊ฒฝ

  • NAS1: ๋‚ด๋ถ€ ์„œ๋น„์Šค๋งŒ ๋‹ด๋‹น
  • NAS2: NPM์œผ๋กœ ๋ชจ๋“  ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ๋ฐ SSL ๊ด€๋ฆฌ
์™€์ผ๋“œ์นด๋“œ * ์‚ฌ์šฉํ•˜์‹ ๋‹ค๋ฉด ๊ผญ ์•„๋ž˜ ํ•„์ˆ˜ ์„ค์ •์„ ํ•˜์„ธ์š”.

๐Ÿš€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ณผ์ •

1๋‹จ๊ณ„: ๊ธฐ์กด ์„ค์ • ๋ฐฑ์—…

NAS1์—์„œ ๋ฐฑ์—…ํ•œ ์ •๋ณด:

  • ๊ธฐ์กด ์—ญ๋ฐฉํ–ฅ ํ”„๋ก์‹œ ๊ทœ์น™ ์ „์ฒด ๋ชฉ๋ก
  • ๊ฐ ์„œ๋ธŒ๋„๋ฉ”์ธ๋ณ„ ์—ฐ๊ฒฐ ์ •๋ณด (ํฌํŠธ, ์„œ๋น„์Šค)
  • Let's Encrypt ์ธ์ฆ์„œ ๋ชฉ๋ก

2๋‹จ๊ณ„: NPM ์„ค์น˜ ๋ฐ ์„ค์ •

Portainer Stack์„ ์ด์šฉํ•œ NPM ์„ค์น˜:

version: "3.8"
services:
  npm:
    container_name: npm
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '380:80'    # HTTP (๊ธฐ๋ณธ 80์—์„œ ๋ณ€๊ฒฝ)
      - '3443:443'  # HTTPS (๊ธฐ๋ณธ 443์—์„œ ๋ณ€๊ฒฝ)  
      - '381:81'    # ๊ด€๋ฆฌ ํŽ˜์ด์ง€
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      DISABLE_IPV6: 'true'
    volumes:
      - /volume1/docker/npm/data:/data
      - /volume1/docker/npm/letsencrypt:/etc/letsencrypt
    depends_on:
      - db
    networks:
      - npm-network

  db:
    container_name: npm-db
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
      TZ: 'Asia/Seoul'
    volumes:
      - /volume1/docker/npm/db:/var/lib/mysql
    networks:
      - npm-network

networks:
  npm-network:
    driver: bridge

ํฌํŠธ ๋ณ€๊ฒฝ ์ด์œ :

  • ์‹œ๋†€๋กœ์ง€ ์›น ์„œ๋ฒ„์™€ ํฌํŠธ ์ถฉ๋Œ ๋ฐฉ์ง€
  • 380/3443 ํฌํŠธ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์•ˆ์ •์„ฑ ํ™•๋ณด

3๋‹จ๊ณ„: Cloudflare API๋ฅผ ์ด์šฉํ•œ ์™€์ผ๋“œ์นด๋“œ SSL ์ธ์ฆ์„œ ๋ฐœ๊ธ‰

Cloudflare API ํ† ํฐ ์ƒ์„ฑ:

  • Zone:Zone:Read + Zone:DNS:Edit ๊ถŒํ•œ
  • ํ•ด๋‹น ๋„๋ฉ”์ธ์—๋งŒ ์ œํ•œ

DNS์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” cname๋ ˆ์ฝ”๋“œ๋Š” ์ „๋ถ€ ์ง€์šด๋‹ค.

NPM์—์„œ ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰:

  • Domain: *.abc.com, abc.com
  • DNS Challenge: Cloudflare
  • API ํ† ํฐ ์ž…๋ ฅ์œผ๋กœ ์ž๋™ ์ธ์ฆ

4๋‹จ๊ณ„: ๊ณต์œ ๊ธฐ ํฌํŠธํฌ์›Œ๋”ฉ ๋ณ€๊ฒฝ

๊ธฐ์กด: ์™ธ๋ถ€ 80 โ†’ 192.168.1.13:80 ์™ธ๋ถ€ 443 โ†’ 192.168.1.13:443

๋ณ€๊ฒฝ ํ›„: ์™ธ๋ถ€ 80 โ†’ 192.168.1.158:380 ์™ธ๋ถ€ 443 โ†’ 192.168.1.158:3443

5๋‹จ๊ณ„: SSL ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ๋ฃจํ”„ ๋ฌธ์ œ ํ•ด๊ฒฐ

๋ฌธ์ œ์ :

  • Cloudflare ํ”„๋ก์‹œ(๐ŸŸ )์™€ NPM Force SSL์ด ๋™์‹œ์— ์ž‘๋™ํ•˜๋ฉด ๋ฌดํ•œ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ๋ฐœ์ƒ

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•:

  • Cloudflare DNS ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ DNS๋งŒ(๐Ÿ”˜) ์„ค์ •์œผ๋กœ ๋ณ€๊ฒฝ
  • NPM์—์„œ Force SSL ํ™œ์„ฑํ™”ํ•˜์—ฌ SSL ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ฒ˜๋ฆฌ

6๋‹จ๊ณ„: ๊ธฐ์กด ํ™˜๊ฒฝ ์ •๋ฆฌ

NAS1์—์„œ ์ œ๊ฑฐํ•œ ํ•ญ๋ชฉ:

  • Let's Encrypt ์ธ์ฆ์„œ ์‚ญ์ œ
  • ๋ชจ๋“  ์—ญ๋ฐฉํ–ฅ ํ”„๋ก์‹œ ๊ทœ์น™ ์‚ญ์ œ
  • ์‹œ๋†€๋กœ์ง€ ๊ธฐ๋ณธ ์ธ์ฆ์„œ๋กœ ์žฌ๋ฐœ๊ธ‰ (๋‚ด๋ถ€ ์ ‘์†์šฉ)

โš™๏ธ ์„œ๋น„์Šค๋ณ„ NPM ์„ค์ • ๊ถŒ์žฅ์‚ฌํ•ญ

NAS1 (192.168.1.13) ์„œ๋น„์Šค

์„œ๋น„์Šค Cache Assets Block Common Exploits WebSocket Support ๋น„๊ณ 
Nextcloud โœ… โœ… โœ… ํŒŒ์ผ ๋™๊ธฐํ™” + ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ
Memos โœ… โœ… โœ… ๋…ธํŠธ ์•ฑ, ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™”
Transmission โœ… โŒ โœ… ํ† ๋ ŒํŠธ ์›นUI, API ํ˜ธ์ถœ ๋งŽ์Œ
Vaultwarden โŒ โœ… โœ… ๋ณด์•ˆ ์ค‘์š”, ์บ์‹ฑ ์œ„ํ—˜
Watchtower โŒ โŒ โŒ ์ปจํ…Œ์ด๋„ˆ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋„๊ตฌ

์‹œ๋†€๋กœ์ง€ ๋‚ด์žฅ ์„œ๋น„์Šค

์„œ๋น„์Šค Cache Assets Block Common Exploits WebSocket Support ๋น„๊ณ 
Synology Drive โœ… โŒ โœ… ํŒŒ์ผ ๋™๊ธฐํ™”, API ํ˜ธ์ถœ ๋งŽ์Œ
Synology Chat โŒ โœ… โœ… ์‹ค์‹œ๊ฐ„ ๋ฉ”์‹œ์ง•, ์บ์‹ฑ ์œ„ํ—˜
Synology Mail โŒ โœ… โœ… ์ด๋ฉ”์ผ ๋ณด์•ˆ ์ค‘์š”
Synology Photos โœ… โœ… โœ… ์ด๋ฏธ์ง€ ์ธ๋„ค์ผ ์บ์‹ฑ ํšจ๊ณผ์ 
WebDAV โŒ โŒ โŒ ํŒŒ์ผ ๋ฌด๊ฒฐ์„ฑ ์šฐ์„ 
์‹œ๋†€๋กœ์ง€ DSM โœ… โŒ โœ… ๊ด€๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค

NAS2 (192.168.1.158) ์„œ๋น„์Šค

์„œ๋น„์Šค Cache Assets Block Common Exploits WebSocket Support ๋น„๊ณ 
์‹œ๋†€๋กœ์ง€ DSM โœ… โŒ โœ… ๊ด€๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค
Jellyfin โœ… โŒ โœ… ๋ฏธ๋””์–ด ์ŠคํŠธ๋ฆฌ๋ฐ
Kavita โœ… โœ… โœ… ๋งŒํ™”/์ฑ… ๋ฆฌ๋”
MinIO โŒ โŒ โœ… S3 ํ˜ธํ™˜ ์Šคํ† ๋ฆฌ์ง€
PicoShare โœ… โœ… โŒ ํŒŒ์ผ ๊ณต์œ  ์„œ๋น„์Šค
Calibre-web โœ… โœ… โœ… ์ „์ž์ฑ… ๊ด€๋ฆฌ
Uptime Kuma โœ… โœ… โœ… ์„œ๋น„์Šค ๋ชจ๋‹ˆํ„ฐ๋ง
Outline โœ… โœ… โœ… ํŒ€ ์œ„ํ‚ค/๋ฌธ์„œ
Mazanoke โœ… โœ… โœ… ๋งŒํ™” ๊ด€๋ฆฌ ๋„๊ตฌ

๐ŸŽ‰ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์™„๋ฃŒ ํ›„ ์žฅ์ 

ํ†ตํ•ฉ ๊ด€๋ฆฌ

  • ๋ชจ๋“  SSL ์ธ์ฆ์„œ๋ฅผ NPM์—์„œ ์ค‘์•™ ๊ด€๋ฆฌ
  • ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ๋กœ ์ƒˆ ์„œ๋ธŒ๋„๋ฉ”์ธ ์ถ”๊ฐ€ ์‹œ ์ธ์ฆ์„œ ์žฌ๋ฐœ๊ธ‰ ๋ถˆํ•„์š”

๊ณ ๊ธ‰ ๊ธฐ๋Šฅ

  • ๋” ๋งŽ์€ ํ”„๋ก์‹œ ์„ค์ • ์˜ต์…˜
  • ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง
  • ๋” ๋‚˜์€ ์›น ์ธํ„ฐํŽ˜์ด์Šค

์•ˆ์ •์„ฑ

  • ์‹œ๋†€๋กœ์ง€ ์—…๋ฐ์ดํŠธ์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ๋…๋ฆฝ์  ์šด์˜
  • ํฌํŠธ ์ถฉ๋Œ ์—†๋Š” ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค

๐Ÿ”ง ๋ฌธ์ œ ํ•ด๊ฒฐ

NPM ์ปจํ…Œ์ด๋„ˆ ์ƒํƒœ๊ฐ€ "inactive"๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ

# ์‹ค์ œ ์ƒํƒœ ํ™•์ธ
docker ps -a

# ๋กœ๊ทธ ํ™•์ธ
docker-compose logs -f npm

# ์žฌ์‹œ์ž‘
docker-compose restart npm

SSL ์ธ์ฆ์„œ ์ž๋™ ๊ฐฑ์‹  ํ™•์ธ

  • NPM ๊ด€๋ฆฌ ํŽ˜์ด์ง€์—์„œ ์ธ์ฆ์„œ ๋งŒ๋ฃŒ์ผ ํ™•์ธ
  • 90์ผ๋งˆ๋‹ค ์ž๋™ ๊ฐฑ์‹ ๋˜๋ฏ€๋กœ ๋ณ„๋„ ๊ด€๋ฆฌ ๋ถˆํ•„์š”

๐Ÿ“ ๊ฒฐ๋ก 

๊ธฐ์กด ์‹œ๋†€๋กœ์ง€ ๋‚ด์žฅ ๊ธฐ๋Šฅ์—์„œ NPM์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•จ์œผ๋กœ์จ ๋” ์ „๋ฌธ์ ์ด๊ณ  ์•ˆ์ •์ ์ธ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์™€์ผ๋“œ์นด๋“œ SSL ์ธ์ฆ์„œ๋ฅผ ํ†ตํ•œ ํ†ตํ•ฉ ๊ด€๋ฆฌ์™€ Cloudflare์™€์˜ ์›ํ™œํ•œ ์—ฐ๋™์ด ํฐ ์žฅ์ ์œผ๋กœ ์ž‘์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.


์ฐธ๊ณ : ์ด ๊ฐ€์ด๋“œ๋Š” ์‹ค์ œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์„ธ๋ถ€ ์„ค์ •์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ํ•„์ˆ˜ ์„ค์ •

๋งŒ์ผ!! ์™€์ผ๋“œ์นด๋“œ๊ฐ€ cloudflare  dns์— ๋“ฑ๋ก ๋˜์–ด์žˆ๋‹ค๋ฉด,

๊ผญ ์•„๋ž˜ ์„ค์ • ํ•˜์„ธ์š”. ์•„๋ž˜ ์„ค์ • ์•ˆํ•˜๋ฉด,
๋žœ๋ค์„œ๋ธŒ๋„๋ฉ”์ธ.๋„๋ฉ”์ธ ์œผ๋กœ ์ ‘์†ํ•˜๋ฉด npm ํ™˜์˜ํŽ˜์ด์ง€๋กœ ๊ฐ€๋ฒ„๋ฆฝ๋‹ˆ๋‹ค
์กฐ์‹ฌํ•˜์„ธ์š”!!
Wildcard DNS Security Risks and How to Mitigate Them
์™€์ผ๋“œ์นด๋“œ DNS์˜ ์ˆจ๊ฒจ์ง„ ๋ณด์•ˆ ์œ„ํ—˜๊ณผ ํ•ด๊ฒฐ์ฑ… ๐Ÿ˜ฑ ์ถฉ๊ฒฉ์ ์ธ ๋ฐœ๊ฒฌ: ๋žœ๋ค ์„œ๋ธŒ๋„๋ฉ”์ธ์œผ๋กœ๋„ ์ ‘์†์ด ๋œ๋‹ค๊ณ ? ํ™ˆ๋žฉ์„ ์šด์˜ํ•˜๋ฉด์„œ **โ€์„œ๋ฒ„ ์ข€ ์•ˆ๋‹คโ€**๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ด๊ฑธ ์•Œ๊ณ  ๋‚˜๋‹ˆ ๋„ˆ๋ฌด ํ™ฉ๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜น์‹œ ์—ฌ๋Ÿฌ๋ถ„๋„ ์ด๋Ÿฐ ์ƒํ™ฉ์€ ์•„๋‹Œ์ง€ ํ™•์ธํ•ด๋ณด์„ธ์š”! ๐Ÿ” ๋ฌธ์ œ ์ƒํ™ฉ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ด๋Ÿฐ ์„ค์ •์„ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”? ์ผ๋ฐ˜์ ์ธ ํ™ˆ๋žฉ ์„ค์ • 1. ๋„๋ฉ”์ธ ์‚ฌ์šฉ: example.com, *.example.com 2. Cloudflare DNS:


NPM SSL ๋ชจ๋‹ˆํ„ฐ๋ง ์Šคํฌ๋ฆฝํŠธ ์„ค์ • ๊ฐ€์ด๋“œ

ํ…”๋ ˆ๊ทธ๋žจ์œผ๋กœ NPM์˜ ์ƒํ™ฉ์„ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์••์ถ•ํŒŒ์ผ์„ ํ’€๊ณ , sh ํŒŒ์ผ์„ ์—ด๋ฉด ์•„๋ž˜์˜ ์‚ฌ์šฉ์ž ์ˆ˜์ • ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ์ˆ˜์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”ง ์‚ฌ์šฉ์ž ์ˆ˜์ • ํ•„์ˆ˜ ํ•ญ๋ชฉ

1. ํ…”๋ ˆ๊ทธ๋žจ ์„ค์ • (ํ•„์ˆ˜ โญโญโญ)

# ๋ผ์ธ 7-8: ๋ณธ์ธ์˜ ํ…”๋ ˆ๊ทธ๋žจ ์ •๋ณด๋กœ ๋ณ€๊ฒฝ
TELEGRAM_BOT_TOKEN="YOUR_BOT_TOKEN_HERE"        # โ† ์‹ค์ œ ๋ด‡ ํ† ํฐ์œผ๋กœ ๋ณ€๊ฒฝ
TELEGRAM_CHAT_ID="YOUR_CHAT_ID_HERE"           # โ† ์‹ค์ œ ์ฑ— ID๋กœ ๋ณ€๊ฒฝ

2. NPM ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ (ํ™˜๊ฒฝ์— ๋”ฐ๋ผ)

# ๋ผ์ธ 11: NPM ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ํ™•์ธ/๋ณ€๊ฒฝ
NPM_CONTAINER="npm"                            # โ† docker ps๋กœ ํ™•์ธ ํ›„ ๋ณ€๊ฒฝ

3. ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ (ํ•„์ˆ˜ โญโญโญ)

# ๋ผ์ธ 46: Let's Encrypt ๋งˆ์šดํŠธ ๊ฒฝ๋กœ ํ™•์ธ/๋ณ€๊ฒฝ
local host_letsencrypt_path="/volume1/docker/npm/letsencrypt"  # โ† ์‹ค์ œ ๊ฒฝ๋กœ๋กœ ๋ณ€๊ฒฝ

4. ์„œ๋ฒ„ ์ •๋ณด (์„ ํƒ์‚ฌํ•ญ)

# ๋ผ์ธ 102, 147, 195, 233: IP ์ฃผ์†Œ ๋ณ€๊ฒฝ
message+="๐Ÿ  <b>์„œ๋ฒ„</b>: NPM (192.168.1.158)"   # โ† ์‹ค์ œ NPM ์„œ๋ฒ„ IP๋กœ ๋ณ€๊ฒฝ

๐Ÿ“‹ ํ™•์ธ ๋ฐฉ๋ฒ•

ํ…”๋ ˆ๊ทธ๋žจ ์ •๋ณด ํ™•์ธ

1. ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡ ์ƒ์„ฑ ๋ฐ Chat ID ํ™•์ธ

์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ์—์„œ ์†Œ๊ฐœ ๋œ๊ฒƒ์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ๊ธฐ์กด ์†Œ์œ ํ•œ๊ฒƒ์„ ํ™œ์šฉํ•ด๋„๋ฉ๋‹ˆ๋‹ค.

Docker ์ •๋ณด ํ™•์ธ

# NPM ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ํ™•์ธ
docker ps | grep nginx-proxy-manager

# ๋งˆ์šดํŠธ ๊ฒฝ๋กœ ํ™•์ธ
docker inspect npm | grep -A5 -B5 letsencrypt

๊ฒฝ๋กœ ํ™•์ธ

# Let's Encrypt ์ธ์ฆ์„œ ํŒŒ์ผ ์กด์žฌ ํ™•์ธ
ls -la /volume1/docker/npm/letsencrypt/archive/npm-*/

# ์‹ค์ œ ๊ฒฝ๋กœ ๊ตฌ์กฐ ํ™•์ธ
find /volume1/docker/npm/letsencrypt -name "*.pem" -type f

โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ

  • ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
  • ๊ฒฝ๋กœ๊ฐ€ ํ‹€๋ฆฌ๋ฉด "์ธ์ฆ์„œ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค" ์—๋Ÿฌ ๋ฐœ์ƒ
  • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„์ด ํ‹€๋ฆฌ๋ฉด ์ˆ˜๋™ ๊ฐฑ์‹  ๊ธฐ๋Šฅ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
  • ํ…”๋ ˆ๊ทธ๋žจ ์ •๋ณด๊ฐ€ ํ‹€๋ฆฌ๋ฉด ๋ฉ”์‹œ์ง€ ์ „์†ก ์‹คํŒจ

๐Ÿงช ์„ค์ • ์™„๋ฃŒ ํ›„ ํ…Œ์ŠคํŠธ

1. ๊ถŒํ•œ ์„ค์ •

chmod 700 npm_ssl_telegram_monitor.sh

755๋ฅผ ๊ถŒํ•œ์„ ํ•˜์—ฌ๋„ ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค.

2. ํ…Œ์ŠคํŠธ ์‹คํ–‰

# ์ธ์ฆ์„œ ์ƒํƒœ ํ™•์ธ ๋ฐ ์ „์†ก
./npm_ssl_telegram_monitor.sh -s

# ์ˆ˜๋™ ๊ฐฑ์‹  ์‹œ๋„ (์ฃผ์˜: ์‹ค์ œ ๊ฐฑ์‹  ์‹คํ–‰๋จ)
./npm_ssl_telegram_monitor.sh -r

# ์‚ฌ์šฉ๋ฒ• ํ™•์ธ
./npm_ssl_telegram_monitor.sh -h

๐Ÿ“ฑ ์ •์ƒ ์ž‘๋™ ์‹œ ํ…”๋ ˆ๊ทธ๋žจ ๋ฉ”์‹œ์ง€ ์˜ˆ์‹œ

๐Ÿ“‹ NPM SSL ์ธ์ฆ์„œ ์ƒํƒœ ๋ณด๊ณ 

๐Ÿ“… ํ™•์ธ ์‹œ๊ฐ„: 2025-06-17 15:30:00
๐Ÿ  ์„œ๋ฒ„: NPM (192.168.1.158)

๐Ÿ“œ ์ธ์ฆ์„œ: npm-1 (v2)
๐ŸŒ ๋„๋ฉ”์ธ: *.example.com
   โ”” ์™€์ผ๋“œ์นด๋“œ ํฌํ•จ 2๊ฐœ ๋„๋ฉ”์ธ
๐Ÿ“… ๋งŒ๋ฃŒ์ผ: 2025-09-14 23:54
โฐ ๋‚จ์€ ์ผ์ˆ˜: โœ… 89์ผ (์•ˆ์ „)
๐Ÿ”„ ๊ฐฑ์‹  ์‹œ๊ธฐ: 59์ผ ํ›„
๐Ÿ“‚ ํŒŒ์ผ: fullchain2.pem

๐Ÿ’ก ์ฐธ๊ณ : ๋งŒ๋ฃŒ 30์ผ ์ „๋ถ€ํ„ฐ ์ž๋™ ๊ฐฑ์‹ ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ”„ ์ž๋™ ์‹คํ–‰ ์„ค์ • (์„ ํƒ์‚ฌํ•ญ)

Cron ์„ค์ • ๋ณด๋‹ค๋Š” ์‹œ๋†€๋กœ์ง€ ์ž‘์—…์Šค์ผ€์ค„์—์„œ root ์ž‘์—…์„ ๋งŒ๋“œ์„ธ์š”

๐Ÿšจ ๋ฌธ์ œ ํ•ด๊ฒฐ

์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์™€ ํ•ด๊ฒฐ์ฑ…

  1. "์ธ์ฆ์„œ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค"
  2. ๊ฒฝ๋กœ ํ™•์ธ: ls -la /volume1/docker/npm/letsencrypt/
  3. Docker ๋งˆ์šดํŠธ ํ™•์ธ: docker inspect npm
  4. ํ…”๋ ˆ๊ทธ๋žจ ์ „์†ก ์‹คํŒจ
  5. ๋ด‡ ํ† ํฐ ์žฌํ™•์ธ
  6. Chat ID ์žฌํ™•์ธ
  7. ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํ™•์ธ
  8. ๊ถŒํ•œ ์˜ค๋ฅ˜
  9. ์Šคํฌ๋ฆฝํŠธ ๊ถŒํ•œ: chmod 700 npm_ssl_telegram_monitor.sh
  10. ํŒŒ์ผ ์†Œ์œ ๊ถŒ ํ™•์ธ

์ด 4๊ฐ€์ง€ ํ•ญ๋ชฉ๋งŒ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •ํ•˜๋ฉด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ •์ƒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค! ๐ŸŽฏ

โ–ฒ