首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CloudFlare中使用Go的自动证书包?

如何在CloudFlare中使用Go的自动证书包?
EN

Stack Overflow用户
提问于 2020-02-27 02:41:04
回答 1查看 846关注 0票数 2

我尝试从autocert文档中运行此示例代码,并将其更改为使用我的域:

代码语言:javascript
复制
package main

import (
    "fmt"
    "log"
    "net/http"

    "golang.org/x/crypto/acme/autocert"
)

func main() {
    mux := http.NewServeMux()
    mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, TLS user! Your config: %+v", r.TLS)
    })
    log.Fatal(http.Serve(autocert.NewListener("mydomain.work"), mux))
}

在浏览器中,我看到了一个CloudFlare错误,上面写着Error 525 SSL handshake failed。Go程序的输出是

代码语言:javascript
复制
2020/02/27 00:44:10 http: TLS handshake error from 172.69.22.250:26624: acme/autocert: unable to satisfy "https://acme-v02.api.letsencrypt.org/acme/authz-v3/3031814088" for domain "mydomain.work": no viable challenge type found

当我关闭CloudFlare的始终使用HTTPS功能时,问题依然存在,因为HTTPS会阻止HTTPS的挑战。当我在CloudFlare控制台中将TLS设置为Off时,它也保持不变。通过返回Namec堆的基本DNS,我终于让它工作起来了。

我喜欢CloudFlare的功能,所以这让我想知道:如何使Go的autocert包与CloudFlare一起工作?或者因为我可以使用CloudFlare的完全加密设置的自签名证书,所以没有必要?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-27 06:01:19

在CloudFlare上,转到SSL/TLS,然后转到Origin选项卡。单击Certificate按钮,他们将免费为您制作一个。您可以使用它来处理它们的完全(严格)加密设置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60425518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档