2

在 Golang 中,使用 autocert,我不断看到这样的例子:

server := &http.Server{
        Addr:      ":https",
        Handler:   r,
        TLSConfig: &tls.Config{
            GetCertificate: certManager.GetCertificate,
        },
    }

    go http.ListenAndServe(":http", certManager.HTTPHandler(nil))

但是,我有一个包含许多站点(go 应用程序)的服务器,并且我使用 NGINX 来代理流量。我可以做这样的事情吗?

server := &http.Server{
        Addr:      ":8443",
        Handler:   r,
        TLSConfig: &tls.Config{
            GetCertificate: certManager.GetCertificate,
        },
    }

    go http.ListenAndServe(":8080", certManager.HTTPHandler(nil))

如果没有,还有其他解决方案吗?

如果是这样,我不确定我做错了什么。我确实看到 certManager.GetCertificate 方法的返回之一是错误。

所以这个问题的第二部分是,我怎样才能捕捉到 certManager.GetCertificate 的错误?我的应用程序可以正常加载和编译。没有错误被抛出。

4

0 回答 0