외부 접속 방식 선택
SetFN 스페이스빌더는 설치 직후 같은 네트워크에서 바로 사용할 수 있습니다. 사무실 밖이나 모바일 네트워크에서도 접속하려면 서버와 외부 인터넷 사이에 안전한 연결 경로를 만들어야 합니다. 이 문서에서는 외부 접속 방식별 차이와 구성 흐름을 안내합니다.
외부 접속 설정의 목적은 도메인으로 들어온 요청을 SetFN 서버로 전달하는 것입니다.
https://space.example.com
↓
외부 접속 연결 방식
↓
http://localhost:8510
Cloudflare Tunnel을 사용하면 이 연결을 비교적 간단하게 구성할 수 있습니다. 서버 포트를 인터넷에 직접 노출하지 않아도 되고, HTTPS 인증서와 도메인 연결은 Cloudflare가 처리합니다.
먼저 외부 접속이 필요한지 확인하세요
같은 사무실이나 Wi-Fi 안에서만 사용한다면 외부 접속 설정은 필요하지 않습니다. 접속 주소 확인 (로컬/내부망)을 참고해 내부망 주소로 접속하세요.
다음과 같은 경우에는 외부 접속 구성이 필요합니다.
- 집이나 출장지에서 스페이스에 접속
- 모바일 데이터로 접속
- 외부 협력사나 고객에게 공유 링크 전달
- 여러 사업장이나 네트워크에서 하나의 스페이스 사용
어떤 방식을 선택해야 하나요?
| 방식 | 추천 대상 | 장점 | 직접 관리할 항목 |
|---|---|---|---|
| Cloudflare Tunnel(권장) | 처음 외부 접속을 구성하는 사용자, 고정 공인 IP가 없는 환경 | 공유기 포트 개방 불필요, 원본 서버 IP 비공개, HTTPS와 도메인 연결이 쉬움 | Cloudflare 계정, 도메인, cloudflared 서비스 |
| Caddy 리버스 프록시 | 자체 서버를 운영하면서 설정을 단순하게 유지하려는 사용자 | 간단한 설정, HTTPS 인증서 자동 발급·갱신 | DNS, 공인 IP, 방화벽, 포트포워딩, Caddy |
| NGINX 리버스 프록시 | 기존 NGINX 인프라가 있거나 세밀한 제어가 필요한 조직 | 높은 설정 유연성, 기존 웹 인프라와 통합 용이 | DNS, 인증서, 방화벽, 포트포워딩, NGINX |
| 공유기 포트포워딩 | 테스트 환경 또는 네트워크를 직접 관리할 수 있는 사용자 | 별도 터널 서비스 없이 직접 연결 | 공인 IP, 공유기, 방화벽, HTTPS, 보안 업데이트 |
| VPN·사설망 | 구성원에게만 비공개로 접속을 허용하려는 조직 | 서비스를 공개 인터넷에 노출하지 않음 | VPN 서버와 사용자 단말 설정 |
터널링과 리버스 프록싱을 쉽게 이해하기
터널링
서버에서 실행되는 Connector가 외부 서비스로 먼저 연결을 만듭니다. 외부 요청은 이 연결을 거슬러 서버에 도착합니다.
Cloudflare Tunnel에서는 cloudflared가 서버에서 Cloudflare로 아웃바운드 연결을 생성합니다. 따라서 일반적인 환경에서는 공유기의 80·443·8510 포트를 외부에 열 필요가 없습니다.
사용자 → Cloudflare → 이미 연결된 Tunnel → SetFN :8510
리버스 프록싱
Caddy나 NGINX가 외부 요청을 먼저 받은 뒤 내부의 SetFN 서비스로 전달합니다. 사용자는 8510 포트를 알 필요 없이 https://space.example.com으로 접속합니다.
사용자 → Caddy 또는 NGINX :443 → SetFN :8510
리버스 프록시에서는 HTTPS 처리, 도메인별 분기, 접속 로그, 요청 제한을 한곳에서 관리할 수 있습니다.
권장 방식: Cloudflare Tunnel
Cloudflare Tunnel은 원본 서버에 공인 IP가 없어도 내부 서비스를 공개 도메인에 연결합니다. cloudflared가 Cloudflare 네트워크로 연결을 먼저 시작하므로, 외부에서 원본 서버로 직접 들어오는 경로를 열지 않아도 됩니다.
주요 특징은 다음과 같습니다.
- 공유기에서 포트포워딩을 설정하지 않아도 됨
- 유동 공인 IP나 통신사 환경의 영향을 비교적 적게 받음
https://space.example.com형태의 주소 사용- HTTPS 인증서를 직접 발급·갱신하지 않아도 됨
- 필요하면 Cloudflare Access로 접속할 수 있는 사용자나 이메일 도메인 제한
- Connector 하나로 여러 내부 웹 서비스를 서브도메인별로 연결
Cloudflare Tunnel 구성 흐름
- 사용할 도메인을 Cloudflare에 연결합니다.
- Cloudflare 대시보드에서 Tunnel을 생성합니다.
- 스페이스빌더 서버에
cloudflared를 설치합니다. - 대시보드에 표시된 명령으로 Connector를 실행합니다.
- Published application에 도메인과 SetFN 주소를 연결합니다.
- 필요하면 Cloudflare Access 정책을 추가합니다.
- 외부 네트워크에서 접속을 확인합니다.
Published application에는 다음 값을 입력합니다.
| 항목 | 예시 |
|---|---|
| Public hostname | space.example.com |
| Service type | HTTP |
| Service URL | http://localhost:8510 |
SetFN 포트를 변경했다면 8510 대신 실제 서비스 포트를 입력하세요.
Cloudflare 공식 상세 가이드
Cloudflare 화면과 설치 명령은 바뀔 수 있으므로 구성할 때 다음 공식 문서를 함께 확인하세요.
- Cloudflare Tunnel 개요
- 대시보드에서 Tunnel 생성하기
cloudflared운영체제별 설치- 로컬 서비스를 공개 도메인에 연결하기
- Cloudflare Access로 사용자 인증 추가하기
직접 리버스 프록시 운영
이미 공인 IP와 서버 인프라를 운영하고 있다면 Caddy 또는 NGINX로 직접 연결할 수 있습니다.
Caddy
Caddy는 도메인의 DNS가 서버를 가리키고 80·443 포트로 요청이 들어오면 HTTPS 인증서를 자동으로 발급하고 갱신합니다. 설정이 단순해 소규모 자체 운영 환경에 적합합니다.
space.example.com {
reverse_proxy 127.0.0.1:8510
}
자세한 설정은 Caddy 리버스 프록시 빠른 시작을 참고하세요.
NGINX
기존에 NGINX를 사용하고 있다면 HTTPS 요청을 SetFN의 로컬 포트로 전달할 수 있습니다.
server {
listen 443 ssl;
server_name space.example.com;
location / {
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 $scheme;
proxy_pass http://127.0.0.1:8510;
}
}
위 예시는 프록시의 기본 구조만 보여줍니다. 실제 운영에서는 인증서, WebSocket, 업로드 크기, 시간 제한, 접근 로그 설정을 함께 검토합니다. 자세한 내용은 NGINX 공식 리버스 프록시 가이드를 참고하세요.
공유기 포트포워딩
공유기에서 외부 80·443 포트를 리버스 프록시 서버로 전달하는 방식입니다. SetFN의 8510 포트를 인터넷에 직접 노출하지 말고, Caddy나 NGINX가 443 포트에서 HTTPS 요청을 받아 내부의 8510으로 전달하도록 구성하세요.
다음 조건이 필요합니다.
- 외부에서 접근할 수 있는 공인 IP
- 공유기 관리자 권한
- 서버 내부 IP를 고정하는 고정 IP 또는 DHCP 예약
- 공인 IP를 가리키는 DNS 레코드
- 필요한 포트만 허용하는 서버 방화벽
- HTTPS 인증서 발급과 자동 갱신 설정
통신사가 CGNAT를 사용하는 회선에서는 공유기의 WAN IP와 실제 공인 IP가 달라 포트포워딩이 작동하지 않을 수 있습니다. 이 경우 Cloudflare Tunnel이나 VPN을 사용하세요.
도메인 준비
회사 도메인이 있다면 space.example.com 같은 서브도메인을 사용합니다. 도메인이 없다면 도메인 등록 업체에서 구입합니다.
Cloudflare Tunnel을 사용하려면 해당 도메인이 Cloudflare 계정의 활성 Zone으로 연결되어 있어야 합니다. 직접 리버스 프록시를 사용한다면 DNS의 A 또는 AAAA 레코드를 서버의 공인 IP로 연결합니다.
접속 확인
설정 후 다음 순서로 확인하세요.
- 서버에서
http://localhost:8510접속 - 같은 네트워크에서
http://<서버 IP>:8510접속 - 도메인으로 HTTPS 접속
- Wi-Fi를 끈 모바일 데이터 환경에서 접속
- 로그인, 파일 업로드, 실시간 알림 또는 채팅 동작 확인
내부 접속부터 실패하면 SetFN 서비스 상태를 먼저 확인합니다. 내부 접속은 되는데 도메인 접속만 실패하면 Tunnel, DNS, 리버스 프록시, 방화벽 순서로 확인합니다.
운영 체크리스트
- 관리자와 사용자에게 길고 고유한 비밀번호 사용
- 필요 없는 계정과 공유 링크 비활성화
- Tunnel Connector 또는 리버스 프록시를 시스템 서비스로 등록
- Connector와 운영체제, 프록시를 정기적으로 업데이트
- HTTPS 인증서 만료와 DNS 상태 확인
- 외부 접속 및 관리자 활동 로그 점검
- 장애 시 내부 주소로 접속할 수 있도록 운영 절차 준비