1

appengine フレキシブル環境 (Java/Spring Boot) で POST エンドポイントを作成しました。これは、PubSub サブスクリプションと同じ Google プロジェクトにあります。確認したところ、この POST エンドポイントは外部からアクセスできます。ローカル PC から Postman を使用して、このエンドポイントにデータを投稿できます。しかし、コントローラーはプッシュ サブスクリプションからの要求を取得しません。

/push のような単純なエンドポイント URL と /_ah/push-handlers/push のような推奨される URL を試しましたが、結果は同じです。

Stackdriver ログで多くのメッセージを確認できます。

{
 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"
     } 
}

しかし、私のプッシュコントローラーは決して呼び出されません。

Postman からこの 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"   
     }
 }

ここに私のapp.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]

何が間違っている可能性がありますか?

4

2 に答える 2

1

私も同じ問題に直面していました。GAE flex に scala akka-http アプリがありました。GAE Standard(golang)でプッシュエンドポイントを編集したら成功したのでこれはflexのバグだと思います。

于 2017-01-03T14:21:48.703 に答える