텔레그램 파일 관리 PoC

채팅 7875532826 / 메시지 1684

텍스트 메시지

미확인

대화방 Snoopybot

발신자 Snoopybot (@snoopy0816bot)

발신 시각 2026-03-01T02:56:57+00:00

메시지
좋은 방향입니다. 지금 구조(포트별 Flask 직접접속)를 Reverse Proxy + HTTPS로 바꾸는 표준 절차를 짧게 정리하면 아래예요. 목표 구조 • 기존: http://smartdonga.synology.me:41000 같은 포트 직접접속 • 변경: https://smartdonga.synology.me/faculty 같은 443 단일 진입 1) Flask 앱 공통 수정 (중요) Flask를 “루트(/)”가 아니라 하위 경로에서도 동작하게 해야 함. 예: /faculty로 서비스할 경우 • 앱에서 APPLICATION_ROOT 또는 SCRIPT_NAME 고려 • 정적파일/링크를 절대경로(/static/...)로 하드코딩하지 말고 url_for() 사용 • 필요한 경우 ProxyFix 적용 from werkzeug.middleware.proxy_fix import ProxyFix app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1, x_prefix=1) 2) Synology Reverse Proxy 설정 DSM → 제어판 → 로그인 포털 → 고급 → 리버스 프록시 서비스별 규칙 추가: • 소스: • 프로토콜: HTTPS • 호스트: smartdonga.synology.me • 포트: 443 • 경로: /faculty (예시) • 대상: • 프로토콜: HTTP • 호스트: 127.0.0.1 • 포트: 41000 다른 앱도 같은 방식: • /dongaventure → 42000 • /techtransfer → 43000 • /monitor → 44000 • /startup → 40000 등 3) 인증서(HTTPS) 적용 DSM → 보안 → 인증서 • Let’s Encrypt로 smartdonga.synology.me 인증서 발급 • 리버스 프록시/웹서비스에 해당 인증서 연결 4) 보안 강화 • 공유기/NAS 방화벽에서 외부 개방 포트는 가능하면 443만 • 기존 41000/42000/43000/44000 외부포트 포워딩 제거 • Flask 앱은 내부에서만 listen(127.0.0.1 또는 docker network) 권장 5) Flask에서 자주 생기는 이슈 • 하위 경로(/faculty)에서 CSS/JS 404 → 정적 경로 하드코딩 문제 • 로그인 redirect가 http로 떨어짐 → ProxyFix, X-Forwarded-Proto 처리 필요 • /api CORS 에러 → 프론트 도메인 기준 CORS 재설정 원하면 제가 다음 메시지에 **현재 6개 서비스 기준으로 “리버스프록시 규칙표(복붙용)”**를 바로 만들어드릴게요. (서비스별 source/target/path를 정확히 한 줄씩)

목록으로