golang和ListenAndServeTLS返回错误

huangapple go评论73阅读模式
英文:

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)
    }
}()

huangapple
  • 本文由 发表于 2015年4月13日 17:05:55
  • 转载请务必保留本文链接:https://go.coder-hub.com/29601576.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定