0

アプリで HTTP GET リクエストを送信しています

http.Get(URL)次のコードのようにリクエストを送信すると、HTTP ステータス コードとして 200 が返されます。

resp, err := http.Get("https://www.google.co.in/")
if err != nil {
    http.Error(w, err.Error(), http.StatusInternalServerError)
    return
}
fmt.Fprintf(w, "HTTP GET returned status %v", resp.Status)

しかし、次のコードのように使用するhttp.NewRequest()と、エラーが発生しますhttp.Client502 Bad Gateway nginx

req, err := http.NewRequest("GET", "https://www.google.co.in/", nil)
resp, err := client.Do(req)
if err != nil {
    http.Error(w, err.Error(), http.StatusInternalServerError)
    return
}
fmt.Fprintf(w, "HTTP GET returned status %v", resp.Status)

Stackdriver のログをnginx.error確認したところ、次のエラーが表示されました

[error] 32#32: *6597 upstream prematurely closed connection while 
reading response header from upstream, client: $client_ip, server: , 
request: "GET /check HTTP/1.1", upstream: 
"http://172.17.0.1:8080/check", host: "XXX.appspot.com"

App Engine は初めてで、Nginx についての知識も限られています。

4

0 に答える 0