SSL 인증서 현황
Let's Encrypt 인증서 유효기간
총 40개
도메인 상태 발급일 만료일 남은 일수 SAN 작업
admin.dontory.com
유효 2026-02-18 17:04 2026-05-19 17:04 35일
admin.dontory.com
ai.blustar.co.kr
유효 2026-03-25 03:37 2026-06-23 03:37 70일
ai.blustar.co.kr
api.busanstore.com
유효 2026-02-21 11:04 2026-05-22 11:04 38일
api.busanstore.com
blustar.co.kr
유효 2026-03-07 11:13 2026-06-05 11:13 52일
blustar.co.kr www.blustar.co.kr
bus.busanstore.com
유효 2026-02-21 11:04 2026-05-22 11:04 38일
bus.busanstore.com
busanstore.com
만료됨 2025-12-25 18:38 2026-03-25 18:38 -20일
busanstore.com www.busanstore.com
busanstore.com-0001
유효 2026-02-22 23:44 2026-05-23 23:44 39일
busanstore.com
cacaoapt.com
유효 2026-02-20 05:55 2026-05-21 05:55 37일
cacaoapt.com www.cacaoapt.com
create.miniwindo.com
유효 2026-02-28 01:12 2026-05-29 01:12 44일
create.miniwindo.com
docs.miniwindo.co.kr
유효 2026-02-28 01:14 2026-05-29 01:14 44일
docs.miniwindo.co.kr
dontory.com
유효 2026-02-18 15:15 2026-05-19 15:15 35일
dontory.com www.dontory.com
eyecode.co.kr
유효 2026-02-23 23:07 2026-05-24 23:07 40일
eyecode.co.kr www.eyecode.co.kr
hansanmart.com
유효 2026-03-24 10:39 2026-06-22 10:39 69일
hansanmart.com www.hansanmart.com
hansanmart.com-0001
유효 2026-02-23 23:07 2026-05-24 23:07 40일
hansanmart.com
hub.eyecode.co.kr
유효 2026-02-22 13:21 2026-05-23 13:21 39일
hub.eyecode.co.kr
kakaoapt.com
유효 2026-03-17 00:58 2026-06-15 00:58 61일
kakaoapt.com www.kakaoapt.com
m.busanstore.com
유효 2026-02-21 11:03 2026-05-22 11:03 38일
m.busanstore.com
m.pluginmart.net
유효 2026-02-24 19:26 2026-05-25 19:26 41일
m.pluginmart.net
market.miniwindo.co.kr
유효 2026-03-03 13:59 2026-06-01 13:59 48일
market.miniwindo.co.kr
market.miniwindo.com
유효 2026-02-24 17:41 2026-05-25 17:41 41일
market.miniwindo.com
memo.blustar.co.kr
유효 2026-03-15 08:54 2026-06-13 08:54 60일
memo.blustar.co.kr
miniwindo.com
유효 2026-02-16 11:08 2026-05-17 11:08 33일
miniwindo.co.kr miniwindo.com www.miniwindo.co.kr www.miniwindo.com
mobile.miniwindo.com
유효 2026-03-03 13:57 2026-06-01 13:57 48일
mobile.miniwindo.com
momoin.net
유효 2026-02-23 23:07 2026-05-24 23:07 40일
momoin.net www.momoin.net
momoincafe.com
유효 2026-02-23 11:52 2026-05-24 11:52 40일
momoincafe.com www.momoincafe.com
momoincafe.com-0001
유효 2026-02-22 13:41 2026-05-23 13:41 39일
momoincafe.com
news.timefood.co.kr
유효 2026-03-24 05:38 2026-06-22 05:38 69일
news.timefood.co.kr
passbook.timefood.co.kr
유효 2026-03-23 04:28 2026-06-21 04:28 68일
passbook.timefood.co.kr
phpmyadmin.blustar.co.kr
유효 2026-03-13 11:06 2026-06-11 11:06 58일
phpmyadmin.blustar.co.kr
pluginmart.net
유효 2026-02-23 23:08 2026-05-24 23:08 40일
pluginmart.net
promptitem.com
유효 2026-02-23 23:08 2026-05-24 23:08 40일
promptitem.com www.promptitem.com
stock.miniwindo.co.kr
유효 2026-03-03 14:22 2026-06-01 14:22 48일
stock.miniwindo.co.kr
studio.miniwindo.com
유효 2026-02-23 12:36 2026-05-24 12:36 40일
studio.miniwindo.com
timefood.co.kr
유효 2026-02-24 10:54 2026-05-25 10:54 41일
timefood.co.kr www.timefood.co.kr
tip.miniwindo.co.kr
유효 2026-02-28 01:00 2026-05-29 01:00 44일
docs.miniwindo.co.kr tip.miniwindo.co.kr
tip.miniwindo.co.kr-0001
유효 2026-02-28 01:14 2026-05-29 01:14 44일
tip.miniwindo.co.kr
tip.miniwindo.com
유효 2026-02-24 17:41 2026-05-25 17:41 41일
tip.miniwindo.com
topcalc.net
유효 2026-03-04 16:03 2026-06-02 16:03 49일
api.topcalc.net dev.topcalc.net mcp.topcalc.net topcalc.net www.topcalc.net
websvc.busanstore.com
유효 2026-02-21 11:04 2026-05-22 11:04 38일
websvc.busanstore.com
www.busanstore.com
만료됨 2025-12-25 18:40 2026-03-25 18:40 -20일
www.busanstore.com
Nginx 설정 파일
/etc/nginx/conf.d/ (읽기 전용)
10개 파일
/etc/nginx/conf.d/blustar.conf 읽기 전용
###############################################################################
# BluStar 서비스 — Nginx 리버스 프록시 설정
#
# 도메인 → 포트/서비스 매핑:
#   blustar.co.kr / www.blustar.co.kr    → 21100 (Nextcloud, upstream)
#   memo.blustar.co.kr                   → 58600 (Joplin 메모 서비스)
#   dbadmin.blustar.co.kr:12600          → 19081 (phpMyAdmin)
#   phpmyadmin.blustar.co.kr:12610       → 19080 (Adminer)
#
# SSL 인증서: Let's Encrypt (certbot 자동 갱신)
###############################################################################

# ─── Nextcloud 업스트림 정의 ────────────────────────────────────────────────
# Nextcloud Docker 컨테이너의 내부 포트 (127.0.0.1:21100)
upstream blustar_nextcloud_backend {
    server 127.0.0.1:21100;
}

# ─── phpMyAdmin (비표준 포트 12600) ─────────────────────────────────────────
# 데이터베이스 관리 도구 — 내부망 또는 VPN 접속 권장
# Docker 컨테이너 포트 19081로 프록시
server {
    listen 12600;
    server_name dbadmin.blustar.co.kr;
    location / { proxy_pass http://127.0.0.1:19081; }
}

# ─── Adminer (비표준 포트 12610) ────────────────────────────────────────────
# 경량 데이터베이스 관리 도구 — 내부망 또는 VPN 접속 권장
# Docker 컨테이너 포트 19080로 프록시
server {
    listen 12610;
    server_name phpmyadmin.blustar.co.kr;
    location / { proxy_pass http://127.0.0.1:19080; }
}

# ─── HTTP → HTTPS 리다이렉트 (BluStar 도메인) ──────────────────────────────
# Certbot이 자동으로 관리하는 if 블록으로 HTTP(80) → HTTPS(443) 리다이렉트
server {
    # Certbot 자동 관리 블록: memo.blustar.co.kr HTTP → HTTPS
    if ($host = memo.blustar.co.kr) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    # Certbot 자동 관리 블록: www.blustar.co.kr HTTP → HTTPS
    if ($host = www.blustar.co.kr) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    # Certbot 자동 관리 블록: blustar.co.kr HTTP → HTTPS
    if ($host = blustar.co.kr) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    listen [::]:80;
    server_name blustar.co.kr www.blustar.co.kr memo.blustar.co.kr;

    # Let's Encrypt 인증서 갱신을 위한 ACME challenge 경로
    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

    # 기본 리다이렉트: 모든 HTTP 요청 → HTTPS
    location / {
        return 301 https://$host$request_uri;
    }
}

# ─── Nextcloud (비표준 포트 21000) ──────────────────────────────────────────
# 레거시 포트 21000으로도 Nextcloud 접속 가능 (하위 호환성)
server {
    listen 21000 ssl http2;
    listen [::]:21000 ssl http2;
    server_name blustar.co.kr www.blustar.co.kr;

    ssl_certificate /etc/letsencrypt/live/blustar.co.kr/fullchain.pem;     # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/blustar.co.kr/privkey.pem;   # managed by Certbot
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    # Nextcloud는 대용량 파일 업로드를 지원하므로 20GB까지 허용
    client_max_body_size 20G;

    location / {
        proxy_pass http://blustar_nextcloud_backend;
    }
}

# ─── Nextcloud (표준 포트 443) ──────────────────────────────────────────────
# https://blustar.co.kr 으로 포트 없이 바로 Nextcloud 접속 가능
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name blustar.co.kr www.blustar.co.kr;

    ssl_certificate /etc/letsencrypt/live/blustar.co.kr/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/blustar.co.kr/privkey.pem;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    client_max_body_size 20G;

    location / {
        proxy_pass http://blustar_nextcloud_backend;

        # 프록시 헤더: 원본 클라이언트 정보를 백엔드에 전달
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # Nextcloud가 HTTPS 환경을 인식하도록 프로토콜/포트 헤더 설정
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-Port 443;

        # WebDAV 등 대용량 동기화를 위한 긴 타임아웃 (1시간)
        proxy_read_timeout 3600;
        proxy_connect_timeout 60;
        proxy_send_timeout 3600;
    }
}

# ─── Joplin 메모 서비스 (memo.blustar.co.kr) ───────────────────────────────
# Joplin Server — 메모 동기화용 백엔드
# Docker 컨테이너 포트 58600으로 프록시
server {
    listen 443 ssl http2;
    server_name memo.blustar.co.kr;

    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    # 메모에 첨부 파일 업로드를 위해 200MB 허용
    client_max_body_size 200m;

    location / {
        proxy_pass http://192.168.0.52:58600;

        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_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-Port 443;

        # Joplin 동기화는 시간이 걸릴 수 있으므로 긴 타임아웃 설정
        proxy_read_timeout 3600;
        proxy_connect_timeout 60;
        proxy_send_timeout 3600;
    }

    ssl_certificate /etc/letsencrypt/live/memo.blustar.co.kr/fullchain.pem;     # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/memo.blustar.co.kr/privkey.pem;   # managed by Certbot
}

# ─── AI Dashboard (ai.blustar.co.kr) ────────────────────────────────────────
# AI 대시보드 서비스 — 포트 33000으로 프록시
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name ai.blustar.co.kr;

    ssl_certificate /etc/letsencrypt/live/ai.blustar.co.kr/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/ai.blustar.co.kr/privkey.pem;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    client_max_body_size 100m;

    location / {
        proxy_pass http://127.0.0.1:33000;

        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_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-Port 443;

        proxy_read_timeout 3600;
        proxy_connect_timeout 60;
        proxy_send_timeout 3600;
    }
}

# ─── HTTP → HTTPS 리다이렉트 (AI Dashboard) ────────────────────────────────
server {
    listen 80;
    listen [::]:80;
    server_name ai.blustar.co.kr;

    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}