英文:
golang and ListenAndServeTLS return error
问题
func main(){
runtime.GOMAXPROCS(runtime.NumCPU())
r := mux.NewRouter()
www := r.Host("secure.domain.com").Subrouter()
www.HandleFunc("/", Handler_www)
api := r.Host("api.domain.com").Subrouter()
api.HandleFunc("/", Handler_api)
go func(){
cert := "/var/ini/ssl/secure.domain.com/intermediate.crt"
prv_key := "/var/ini/ssl/secure.domain.com/private.key"
err := http.ListenAndServeTLS(":9443", cert, prv_key, r)
if err != nil {
log.Fatal("HTTPS server: ", err)
}
}
err := http.ListenAndServe(":9000", r)
if err != nil {
log.Fatal("HTTP server: ", err)
}
}
func main(){
runtime.GOMAXPROCS(runtime.NumCPU())
r := mux.NewRouter()
www := r.Host("secure.domain.com").Subrouter()
www.HandleFunc("/", Handler_www)
api := r.Host("api.domain.com").Subrouter()
api.HandleFunc("/", Handler_api)
go func(){
cert := "/var/ini/ssl/secure.domain.com/intermediate.crt"
prv_key := "/var/ini/ssl/secure.domain.com/private.key"
err := http.ListenAndServeTLS(":9443", cert, prv_key, r)
if err != nil {
log.Fatal("HTTPS 服务器:", err)
}
}
err := http.ListenAndServe(":9000", r)
if err != nil {
log.Fatal("HTTP 服务器:", err)
}
}
英文:
func main(){
runtime.GOMAXPROCS(runtime.NumCPU())
r := mux.NewRouter()
www := r.Host("secure.domain.com").Subrouter()
www.HandleFunc("/", Handler_www)
api := r.Host("api.domain.com").Subrouter()
api.HandleFunc("/", Handler_api)
go func(){
cert := "/var/ini/ssl/secure.domain.com/intermediate.crt"
prv_key := "/var/ini/ssl/secure.domain.com/private.key"
err := http.ListenAndServeTLS(":9443", cert, prv_key, r)
if err != nil {
log.Fatal("HTTPS server: ", err)
}
}
err := http.ListenAndServe(":9000", r)
if err != nil {
log.Fatal("HTTP server: ", err)
}
}
答案1
得分: 2
尝试在闭合的 }
后面添加 ()
。
这样,你实际上会调用 func()
。
go func(){
cert := "/var/ini/ssl/secure.domain.com/intermediate.crt"
prv_key := "/var/ini/ssl/secure.domain.com/private.key"
err := http.ListenAndServeTLS(":9443", cert, prv_key, r)
if err != nil {
log.Fatal("HTTPS server: ", err)
}
}()
英文:
Try and add ()
after the closing }
.
That way, you would actually call the func()
.
go func(){
cert := "/var/ini/ssl/secure.domain.com/intermediate.crt"
prv_key := "/var/ini/ssl/secure.domain.com/private.key"
err := http.ListenAndServeTLS(":9443", cert, prv_key, r)
if err != nil {
log.Fatal("HTTPS server: ", err)
}
}()
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论