1

appengine 유연한 환경 (Java/Spring Boot)에서 POST 끝점을 만들었습니다. PubSub 구독과 동일한 Google 프로젝트에 있습니다. 이 체크 포인트는 외부에서 액세스 할 수 있습니다. 내 로컬 PC의 Postman을 사용하여이 끝점에 데이터를 게시 할 수 있습니다. 그러나 내 컨트롤러가 밀어 넣기 구독에서 요청을 가져 오지 않습니다.appengine 유연한 환경에서 PubSub push 메시지를받을 수 없습니다.

나는/push와 같은 간단한 엔드 포인트 URL과/_ah/push-handlers/push와 같은 권장 URL을 시도했지만 결과는 동일합니다. 내가 스택 드라이버에서 볼 수

메시지를 많이 기록합니다

{ 
metadata: { 
     projectId: "myproject" 
     serviceName: "appengine.googleapis.com" 
     zone: "us-central1-b" 
     labels: {…} 
     timestamp: "2016-12-06T19:17:51.922Z" 
} 
    insertId: "1u1o1hqf77guah" 
    log: "appengine.googleapis.com/nginx.request" 
    structPayload: { 
      method: "POST" 
      latencySeconds: "0.000" 
      referer: "-" 
      host: "-" 
      user: "-" 
      code: "307" 
      remote: "130.211.3.227" 
      agent: "-" 
      path: "/push" 
      size: "180" 
    } 
} 

을하지만 내 푸시 컨트롤러가 호출되지 않습니다.

나는 우체부에서이 URL에 게시 할 때, 나는 (에이전트의 유일한 차이)과 비슷한 307 리디렉션을 얻고 내 컨트롤러가 응답 한 후 후 나는 200 응답 볼 수 있습니다 여기에

{ 
    metadata: { 
      projectId: "myproject" 
      serviceName: "appengine.googleapis.com" 
      zone: "us-central1-b" 
      labels: {…} 
      timestamp: "2016-12-06T19:10:14.226Z" 
    } 
     insertId: "1acos4zf74fb5r" 
     log: "appengine.googleapis.com/nginx.request" 
     structPayload: { 
      method: "POST" 
      latencySeconds: "0.035" 
      referer: "-" 
      host: "-" 
      user: "-" 
      code: "200" 
      remote: "130.211.0.196" 
      agent: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36" 
      path: "/push" 
      size: "727" 
    } 
} 

내 응용 프로그램입니다 .yaml

# [START appyaml] 
runtime: java 
env: flex 

runtime_config: 
    jdk: openjdk8 

manual_scaling: 
    instances: 1 

handlers: 
- url: /.* 
    script: this field is required, but ignored 
    secure: optional 

# [END appyaml] 

무엇이 잘못 될 수 있습니까?

답변

1

나는 또한 동일한 문제에 직면했다. GAE flex에 scala akka-http 앱이 있습니다. GAE 표준 (golang)에서 push-endpoint를 편집 할 때 성공했기 때문에 이것이 flex의 버그라고 생각합니다.