호스팅된 타겟 문제 해결

Apigee Edge 문서입니다.
Go to the Apigee X 문서로 이동합니다.
info

package.json 누락으로 인한 빌드/배포 실패

Node.js 앱의 루트 디렉터리에 package.json 파일이 필요합니다. package.json 없이 프록시를 만들거나 배포하려고 하면 빌드 시간 중에 실패합니다.

프록시에서 502 잘못된 게이트웨이 수신

프로세스를 시작하지 못하면 '502 잘못된 게이트웨이' 오류가 발생할 수 있습니다. 이 문제를 디버그하려면 런타임 로그를 확인하고 오류 메시지를 찾습니다. 일반적인 오류는 package.json에 시작 명령어가 누락되었거나 잘못된 경우입니다. 최소한 package.json은 지정해야 합니다 "start": "node ." scripts 속성에. 예를 들면 다음과 같습니다.

{
  "name": "hello-world",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
   "start": "node ."
  },
  "author": "",
  "license": "",
  "description": "Hello World Application",
  "dependencies": {
  }
}

프록시가 멈추고 504 게이트웨이 시간 초과를 반환함

호스팅된 대상 대상 앱이 시간 제한 내에 응답하지 않으면 '504 게이트웨이 시간 초과' 오류가 발생할 수 있습니다. 애플리케이션이 환경 변수 PORT에 설정된 포트에서 리슨하는지 확인합니다. 애플리케이션에서 process.env.PORT를 사용하여 이 변수에 액세스할 수 있습니다. 그렇지 않으면 런타임 로그에서 다른 오류 메시지를 확인할 수 있습니다. 애플리케이션 런타임에 설정된 환경 변수도 참고하세요.

또한 Google App Engine (GAE)은 60초의 요청 시간 제한을 적용합니다. GAE 문서의 할당량 및 한도도 참고하세요.

경로에 잘못된 문자

호스팅된 대상으로 프록시를 배포할 때 다음과 같은 오류가 표시되면 프록시 이름에 공백이 포함되어 있기 때문일 수 있습니다. 호스팅된 대상이 있는 프록시 이름에는 공백을 사용하면 안 됩니다.

Illegal character in path at index 69:
https://my-domain.net/organizations/my-org/apps/MD5 Hash/revision/1733635923

npm ERR! rofs EROFS: 읽기 전용 파일 시스템

호스팅된 대상 애플리케이션은 tmpfs 파일 시스템을 사용하여 컨테이너에서 실행됩니다. 파일 시스템의 /tmp 디렉터리만 호스팅된 대상 애플리케이션에서 쓸 수 있습니다. 아쉽게도 최신 버전의 NPM은 /root/.npm에 캐시, 로그 등을 쓰려고 시도합니다. 이 문제를 해결하려면 NPM 캐시 위치 변경 또는 NPM 작업 없이 애플리케이션 실행을 참고하세요.