【发布时间】:2017-08-20 20:34:22
【问题描述】:
这是我的代码:
func Login(w http.ResponseWriter, r *http.Request) {
fmt.Println("Login prccessing")
email := r.FormValue("email")
password := r.FormValue("password")
fmt.Println(email + password)
var netTransport = &http.Transport{
Dial: (&net.Dialer{
Timeout: 50 * time.Second,
}).Dial,
TLSHandshakeTimeout: 50 * time.Second,
}
var netClient = &http.Client{
Timeout: time.Second * 50,
Transport: netTransport,
}
res, err := netClient.Get("https://account.sloppy.zone/accounts/" + email)
if err != nil {
fmt.Println(err.Error())
http.Redirect(w, r, "/", http.StatusSeeOther)
}
responeData, errs := ioutil.ReadAll(res.Body)
fmt.Println(string(responeData))
if errs != nil {
log.Fatal(errs)
}
var info LoginInfo
json.Unmarshal(responeData, &info)
if email == info.Id && password == info.Password {
http.Redirect(w, r, "/manager", http.StatusSeeOther)
} else {
http.Redirect(w, r, "/", http.StatusSeeOther)
}
}
我正在尝试使用 docker 运行服务容器化并将其部署在 docker 容器主机 (sloppy.io) 上,该服务调用另一个服务(帐户服务)以从该服务获取帐户和密码并使用用户输入验证它们在同一主机上。问题是当我登录到我的页面时出现 502 Bad Gateway。跟踪记录我看到错误:TLS 握手超时。
我该如何解决这个问题?
【问题讨论】:
-
你能在容器内 curl
account.sloppy.zone吗?检查它是否可以访问容器内的站点?