메인 콘텐츠로 건너뛰기
이 답변은 배포된 앱에서 발생할 수 있는 오류를 다룹니다. 더 광범위한 문제 해결은 배포 문제 해결을 참조하세요.
배포된 앱의 403은 일반적으로 다음 중 하나에서 발생합니다:
  • 과도한 크기의 요청 헤더—쿠키가 너무 많으면 헤더가 너무 커져 엣지에서 거부될 수 있습니다. 해당 도메인의 브라우저 쿠키를 지우고 다시 테스트하세요.
  • 인증 누락—요청에 필요한 로그인 토큰이나 세션이 포함되지 않은 경우.
  • 액세스 제한—앱이 일부 트래픽을 차단하도록 구성되어 있을 수 있습니다. 비공개 배포외부 액세스 토큰을 참조하세요.
자세한 진단을 위해 배포 로그를 새 Agent 채팅에 붙여넣으세요.
앱 프로세스가 Replit이 예상하는 포트에서 수신 대기하지 않습니다. Replit은 PORT 환경 변수를 통해 올바른 포트를 전달하므로 하드코딩된 값 대신 이를 사용하여 바인딩하세요:
const PORT = process.env.PORT || 3000;
port = int(os.environ.get("PORT", 3000))
바인딩 전에 앱이 충돌했을 수도 있습니다—배포 로그에서 시작 오류를 확인하세요. 자동 스케일 배포에서 조용한 기간 후 첫 번째 요청은 몇 초가 걸릴 수 있습니다(콜드 스타트). 이는 정상입니다.
CORS 오류는 프론트엔드와 백엔드가 서로 다른 오리진에 있고 백엔드가 이를 허용하도록 설정되지 않은 것을 의미합니다. 동일한 앱의 일부라면 상대 URL(예: /api/endpoint)을 사용하여 CORS를 완전히 피하세요.그렇지 않은 경우 프론트엔드 오리진을 허용하도록 백엔드를 구성하세요. Express의 경우 예를 들면:
const cors = require("cors");
app.use(cors({ origin: "https://your-frontend.replit.app" }));
게시 전에 필요한 특정 오리진만 허용하세요. 배포 문제 해결을 참조하세요.
프로덕션 환경이 로컬 설정과 다를 때 배포된 앱이 실패합니다. 세 가지를 확인하세요:
  1. 하드코딩된 localhost URLlocalhost:3000 또는 127.0.0.1을 상대 경로 또는 환경 기반 URL로 교체한 다음 다시 배포하세요.
  2. 누락된 프로덕션 시크릿—모든 필수 키가 배포 시크릿에 설정되어 있는지 확인하세요. 시크릿을 참조하세요.
  3. 프로덕션에서 실행되지 않은 마이그레이션—게시 전에 프로덕션 데이터베이스에 대해 보류 중인 마이그레이션을 실행하세요.
오류가 계속되면 오류 메시지와 시도한 단계를 포함하여 Replit 지원팀에 문의하세요.
502는 일반적으로 앱 프로세스가 충돌했거나 서버가 사용할 수 없는 출력을 반환한 것을 의미합니다. 502가 발생하기 직전의 충돌 오류에 대해 배포 로그를 확인하세요—처리되지 않은 프라미스 거부 및 포착되지 않은 예외가 Node.js 프로세스를 자동으로 충돌시킬 수 있습니다.충돌을 표면화하는 핸들러를 추가하세요:
process.on("uncaughtException", (err) => console.error("Uncaught:", err));
로그에서 기본 오류를 확인할 수 있으면 새 Agent 채팅에 붙여넣어 수정 도움을 받으세요.
먼저 요청이 코드에서 실패하는 것이 아니라 차단되고 있는지 확인하세요. 배포 로그를 열고 차단되거나 리디렉션된 아웃바운드 요청에 대한 메시지를 찾으세요.일반적인 원인 및 수정 방법:
  • 자기 참조 URL—백엔드가 자체 공개 URL(예: fetch("https://myapp.replit.app/api/..."))을 호출하는 경우 대신 상대 경로 fetch("/api/...")를 사용하세요.
  • 빌드 단계의 요청—런타임에 아웃바운드 호출을 수행하고 빌드 중에는 하지 마세요.
  • 네트워크 제한—회사 또는 학교 네트워크에서는 아웃바운드 연결이 차단될 수 있습니다. 네트워크 관리자에게 확인하세요.
이 중 어느 것도 해당되지 않고 요청이 여전히 차단된다면 관련 로그 라인을 포함하여 Replit 지원팀에 문의하세요.
.replit.app 서브도메인은 프로젝트 이름에서 파생되며, 특히 프로젝트 이름이 변경된 경우 게시 취소 및 재게시 시 동일하게 유지된다는 보장이 없습니다.영구적인 해결책은 커스텀 도메인으로, 재배포 시에도 동일하게 유지됩니다. 이전 서브도메인을 복원하려면 프로젝트 이름이 원래 이름과 일치하는지 확인하고(필요하면 되돌리기) 재게시하세요—Replit은 릴리스된 서브도메인을 수동으로 재할당할 수 없습니다. 게시 지역을 참조하세요.

도움이 더 필요하신가요?

여기서 오류가 다루어지지 않았다면 Replit 지원팀에 문의하세요.