이 방식은 현재 문제가 있을 수 있습니다. 아래 배포 이슈 설명을 참고하세요. 문제 원인은 공식 코드의 CORS 처리와 관련되어 있으며, 아직 완전히 해결되지 않았습니다.
Vercel 배포 이슈 설명
같은 문제가 발생할 수 있습니다. Vercel로 배포한 댓글 플러그인을 데스크톱에서 사용할 때 "네트워크 요청 오류, CORS 오류 때문에 Waline 서비스 요청이 허용되지 않음"이라는 메시지가 표시될 수 있습니다. Vercel 대시보드 로그에는 "응답 시간 초과"가 표시되고, 모바일 댓글에서도 Failed to fetch 오류가 발생할 수 있습니다.
가능한 원인은 두 가지입니다.
URL 설정 오류입니다. 예를 들어 https://waline.tangly1024.com 끝에는 슬래시가 없어야 합니다.
환경 변수 LEAN_ID, LEAN_KEY, LEAN_MASTER_KEY 세 개를 설정합니다. 값은 이전 단계에서 LeanCloud에서 얻은 APP ID, APP KEY, Master Key에 각각 대응합니다.
💡 주의:
LeanCloud 중국 내 버전을 사용한다면 LEAN_SERVER 환경 변수도 추가해야 합니다. 값은 연결한 도메인입니다. 그렇지 않으면 serverURL option is required for apps from CN region 오류가 표시될 수 있습니다. 자세한 내용은 이 Issue를 참고하세요.
마지막으로 프로젝트를 redeploy해 설정을 적용합니다.
3. Waline 접근 주소 찾기
Vercel의 Overview에서 Visit을 클릭하거나 DOMAINS 아래의 도메인을 통해 Waline 서비스에 접근할 수 있습니다. 직접 도메인 매핑을 할 수도 있습니다. 문제가 있으면 공식 문서를 참고하세요.
공식 문서에 따르면 Vercel, Docker, Deta, CloudBase, Railway, Baidu Cloud Functions, Alibaba Cloud Functions 등 여러 배포 방식을 사용할 수 있습니다. 여기서는 Vercel과 Deta 두 가지 방식을 소개했습니다. 다른 방식은 공식 문서의 Server-side Introduction을 참고하세요.
환경 변수를 수정한 뒤에는 반드시 다시 배포해야 적용됩니다. Vercel에서는 Settings → Environment Variables에서 설정합니다.
스팸 댓글 필터링 Valine과 Waline 모두 Akismet의 스팸 댓글 필터링 기능을 사용할 수 있습니다. https://akismet.com에서 계정을 등록하면 무료 키를 받을 수 있습니다. Valine은 LeanCloud에 AKISMET_KEY 변수를 설정하고, Waline은 서비스 백엔드의 환경 변수에 설정합니다.
Waline
1. LeanCloud 등록
Valine과 Waline은 모두 LeanCloud가 제공하는 클라우드 함수와 클라우드 데이터 저장 기능을 사용합니다. 일반 개발자라면 무료 버전으로 충분합니다.
APP ID와 APP Key 가져오기
1. 먼저 로그인하거나 회원가입한 뒤 `LeanCloud` 콘솔에 들어가 왼쪽 아래의 앱 만들기를 클릭합니다.
2. 방금 만든 앱에 들어가 왼쪽 아래의 `설정` > `앱 Key`를 선택하고 `APP ID`와 `APP Key`를 확인합니다.
2. Waline 배포 방식
방식 1: Vercel 배포
이 방식은 현재 문제가 있을 수 있습니다. 아래 배포 이슈 설명을 참고하세요. 문제 원인은 공식 코드의 CORS 처리와 관련되어 있으며, 아직 완전히 해결되지 않았습니다.
Vercel 배포 이슈 설명
같은 문제가 발생할 수 있습니다. Vercel로 배포한 댓글 플러그인을 데스크톱에서 사용할 때 "네트워크 요청 오류, CORS 오류 때문에 Waline 서비스 요청이 허용되지 않음"이라는 메시지가 표시될 수 있습니다. Vercel 대시보드 로그에는 "응답 시간 초과"가 표시되고, 모바일 댓글에서도
Failed to fetch오류가 발생할 수 있습니다.가능한 원인은 두 가지입니다.
https://waline.tangly1024.com끝에는 슬래시가 없어야 합니다.Vercel또는도메인 서비스 제공자문제로 CORS 제한이 발생했습니다.2. 환경 변수 설정
Vercel 대시보드에서 방금 배포한 Waline 프로젝트로 이동한 뒤 Settings → Environment Variables를 찾습니다.
환경 변수
LEAN_ID,LEAN_KEY,LEAN_MASTER_KEY세 개를 설정합니다. 값은 이전 단계에서 LeanCloud에서 얻은APP ID,APP KEY,Master Key에 각각 대응합니다.마지막으로 프로젝트를
redeploy해 설정을 적용합니다.3. Waline 접근 주소 찾기
Vercel의
Overview에서Visit을 클릭하거나DOMAINS아래의 도메인을 통해 Waline 서비스에 접근할 수 있습니다. 직접 도메인 매핑을 할 수도 있습니다. 문제가 있으면 공식 문서를 참고하세요.방식 2: Deta 배포
Vercel 서비스에 이상이 있다면 이 대체 배포 방식을 시도할 수 있습니다.
Deploy버튼을 클릭해 배포합니다.방식 3: Railway 배포
이 방식은 블로거 D_super의 글 NotionNext Blog Waline Comment System을 참고하세요. 단계가 매우 자세합니다.
기타 배포 방식
공식 문서에 따르면 Vercel, Docker, Deta, CloudBase, Railway, Baidu Cloud Functions, Alibaba Cloud Functions 등 여러 배포 방식을 사용할 수 있습니다. 여기서는 Vercel과 Deta 두 가지 방식을 소개했습니다. 다른 방식은 공식 문서의 Server-side Introduction을 참고하세요.
배포 완료
Waline은 그 자체로 독립적인 댓글 페이지이며 어떤 웹 페이지에도 임베드할 수 있습니다. 예를 들어 배포한 Waline 서비스를 서브도메인에 매핑하면 주소는
https://waline.tangly1024.com처럼 됩니다.Waline 기타 사용자 정의 설정
Waline은 많은 사용자 정의 설정을 지원합니다. 공식 문서를 참고하세요.
Server environment variables
환경 변수를 수정한 뒤에는 반드시 다시 배포해야 적용됩니다. Vercel에서는
Settings→Environment Variables에서 설정합니다.Valine과 Waline 모두 Akismet의 스팸 댓글 필터링 기능을 사용할 수 있습니다. https://akismet.com에서 계정을 등록하면 무료 키를 받을 수 있습니다. Valine은 LeanCloud에
AKISMET_KEY변수를 설정하고, Waline은 서비스 백엔드의 환경 변수에 설정합니다.Valine-Admin을 함께 사용하면 몇 분 안에 관리 백엔드를 배포하고 Valine과 Waline의 이메일 알림을 지원할 수 있습니다. 배포 설정은 이 문서에서 자세히 다루지 않습니다. 공식 문서의 Cloud Engine one-click deployment 부분을 참고하세요.
3. NotionNext에서 Waline 설정
NotionNext(버전 3.3.9 이상)에서 Waline을 켜려면 Vercel 환경 변수에 Waline 접근 주소를 추가합니다.
waline 접근 주소는 이전 단계에서 배포한 Waline 페이지 주소입니다. Waline은 독립적인 댓글 페이지입니다.위 변수를 설정한 뒤 다시 배포하면 됩니다.
원문 링크
https://docs.tangly1024.com/article/notion-next-waline