본문 바로가기
카테고리 없음

Netlify 기본 인증 없이 비공개로 배포하는 3가지 방법

by clody 2025. 11. 12.

개인 프로젝트나 클라이언트 작업물처럼 외부에 노출이 안되는 상황에서는 기본 인증만으로는 보안이 충분하지 않거나, 아예 인증 없이 내부 공유만 하고 싶은 경우도 생깁니다. 또한, Netlify는 정적 사이트 배포가 정말 간편하지만, 기본 인증 설정이 생각보다 까다롭거나 원하는 방식이 아닐 때가 있습니다. 이 포스팅에서는 기본 인증 없이도 효과적으로 비공개 배포를 할 수 있는 3가지 실전 방법을 알려드릴게요.

 

 

 

방법 1 - 헤더 설정으로 외부 접근 제한하기

Netlify의 _headers 파일을 이용하면 특정 조건을 만족하는 사용자만 접근하도록 설정할 수 있습니다. 기본 인증을 쓰지 않고도 브라우저나 IP 기반 제한이 가능하다는 점에서 유용합니다. 예를 들어, User-Agent를 특정 값으로 제한하거나, IP 주소를 지정해 해당 조건을 만족하지 못하는 경우 접근을 차단할 수 있습니다.

/*
  X-Robots-Tag: noindex
  User-Agent: custom-internal-agent

이와 같이 설정하면, 크롤러가 페이지를 인덱싱하지 못하게 하고, 사용자 에이전트를 특정 값으로 설정한 경우에만 접근이 가능해집니다. 또한 Netlify에서는 IP 주소 제한 기능은 기본적으로 제공하지 않지만, Netlify Edge Functions를 이용하거나, 클라이언트 측에서 리디렉션 처리로 접근 제한이 가능합니다. 이 방식의 장점은 별도의 인증 없이도 간단한 필터링이 가능하다는 점입니다. 단, 보안 수준이 낮기 때문에 내부 공유 목적에만 사용하는 것이 좋습니다. 보안이 필요한 프로젝트에는 적합하지 않습니다.

 

 

 

방법 2 - Netlify Functions로 토큰 기반 인증 구현

Netlify Functions를 활용하면 사용자 정의 인증 로직을 직접 만들 수 있습니다. 이를 통해 JWT(JSON Web Token) 방식의 인증을 적용하거나, URL에 토큰을 포함하여 인증 여부를 판단할 수 있습니다. 예시로, 다음과 같은 토큰 확인 로직을 가진 Function을 작성할 수 있습니다:

exports.handler = async (event, context) => {
  const token = event.queryStringParameters.token;
  if (token !== 'your-secret-token') {
    return {
      statusCode: 401,
      body: 'Unauthorized',
    };
  }
  return {
    statusCode: 200,
    body: 'Authorized',
  };
};

이 방식을 사용하면 사용자가 URL에 ?token=your-secret-token을 붙여서 접근할 수 있으며, 코드 내부에서 해당 토큰이 유효한지 확인 후 콘텐츠를 제공하게 됩니다. 서버리스 환경에서 작동하므로 빠르고 안정적이며, 기본 인증보다 더 유연한 접근 제어가 가능합니다. 이 방법은 중간 수준의 보안을 제공하며, 프로젝트 공유 시 URL 링크만 전달해도 접근 제어가 가능하다는 장점이 있습니다. 단점으로는 URL 유출 시 보안이 무력화될 수 있으므로, 짧은 기간 공유에 적합합니다.

 

 

 

방법 3 - 비공개 Git 저장소 연동 + 빌드 조건 분기

Netlify는 GitHub, GitLab, Bitbucket 등 다양한 Git 저장소와 연동이 가능합니다. 이때 저장소 자체를 비공개로 설정하고, 특정 브랜치나 커밋 조건을 만족해야만 빌드되도록 설정할 수 있습니다. 이러한 방식은 외부인이 아예 프로젝트를 볼 수 없는 구조이기 때문에, 별도의 인증 없이도 외부 노출을 원천적으로 차단할 수 있는 장점이 있습니다. 빌드 트리거도 제한적으로 설정 가능하여, 관리자가 승인해야만 배포가 진행되도록 설정할 수도 있습니다. 또한 Netlify의 Preview 기능을 활용하면, 특정 Pull Request 상태에서만 배포가 가능하도록 조건을 제한할 수 있으며, 이때 링크는 외부에 유출되지 않는 한 안전하게 유지됩니다. 이 방식은 고도화된 프로젝트나 민감한 콘텐츠를 다룰 때 가장 안전한 선택이며, 장기적으로 팀 단위 협업에서도 유용하게 사용할 수 있습니다. 단점은 설정이 복잡하고, 초기 구성에 시간이 다소 소요된다는 점입니다.

 

 

 

 

Netlify에서 비공개 배포를 하려면 기본 인증만이 정답은 아닙니다. 간단한 헤더 설정부터 고급 서버리스 인증까지, 상황에 맞는 방법을 선택하면 됩니다.

빠르게 검색 노출만 막고 싶다면 방법 1

링크로 간편하게 공유하고 싶다면 방법 2

장기적으로 안전하게 관리하고 싶다면 방법 3

프로젝트 성격과 보안 수준을 고려해서 적절한 방법을 골라보는 것을 추천합니다. 처음엔 조금 번거로울 수 있지만, 한 번 설정해두면 안전하고 편하게 프로젝트를 관리할 수 있습니다!