- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想使用 autocert 和 gorila mux 生成证书,我的实际代码是:
func main() {
certManager := autocert.Manager{
Prompt: autocert.AcceptTOS,
//HostPolicy: autocert.HostWhitelist("example.com"),
Cache: autocert.DirCache("./certs"), //Folder for storing certificates
}
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello world"))
})
server := &http.Server{
Addr: ":https",
TLSConfig: &tls.Config{
GetCertificate: certManager.GetCertificate,
},
}
go http.ListenAndServe(":http", certManager.HTTPHandler(nil))
log.Fatal(server.ListenAndServeTLS("", "")) //Key and cert are coming from Let's Encrypt
}
我的路由器是:
r := mux.NewRouter()
r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir(dir))))
r.HandleFunc("/login.html", LoginHtml)
如何将 gurilla mux 集成到我的实际代码中?
最佳答案
整合是这样的:
func main() {
certManager := autocert.Manager{
Prompt: autocert.AcceptTOS,
//HostPolicy: autocert.HostWhitelist("example.com"),
Cache: autocert.DirCache("./certs"), //Folder for storing certificates
}
r := mux.NewRouter()
r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir(dir))))
r.HandleFunc("/login.html", LoginHtml)
server := &http.Server{
Addr: ":https",
Handler: r,
TLSConfig: &tls.Config{
GetCertificate: certManager.GetCertificate,
},
}
go http.ListenAndServe(":http", certManager.HTTPHandler(nil))
log.Fatal(server.ListenAndServeTLS("", "")) //Key and cert are coming from Let's Encrypt
}
我建议给服务器添加一些超时。我通常选择读取、写入和空闲。
关于go - 使用 gorilla mux 的 Autocert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50311532/
我在我的应用程序中使用 Library autocert 来生成 ssl 证书,问题是 30% 的用户对我的应用程序有问题,我当前的代码是: fmt.Println("Starting server
我正在查看一些将 autocert 与 go 网络服务器结合使用的示例代码。 hostPolicy 实现是否有可能通过动态方式实现,即从数据库中读取同时列出的主机(因为它们会不断变化)。 m := a
我目前正在构建一个使用 acme/autocert 的服务。要将该服务用于超过 1 个副本,我必须编写一个持久缓存接口(interface),如 DirCache。然后我注意到,在重新启动服务后,缓存
我正在用 go 编写一个程序,它向不同的服务器发出 HTTP 请求并读取响应。该程序在 Windows/Mac 上运行得非常好,但是当我在基于 ARM 的 Rasp Pi 3 和 Rasbian OS
我正在尝试使用 acme/autocert 在 go 中设置一个安全的 websocket 服务器 (wss://)。程序启动,但当我尝试连接到它时出现以下错误: http: TLS handshak
我想使用 autocert 和 gorila mux 生成证书,我的实际代码是: func main() { certManager := autocert.Manager{
我想使用 golang.org/x/crypto/acme/autocert 在 Golang 中使用 Let's Encrypt 设置 TLS。为什么要在 Manager 中设置 HostPolic
我有两台独立的服务器,它们使用相同的域名和不同的前缀,一台做一些应用程序的事情,另一台做文件共享。使用 autocert 包,我如何才能配置证书管理器来生成我可以在两台服务器上使用的证书? 最佳答案
我一直依赖这个库有一段时间了,没有任何问题,但突然间它完全忽略了缓存的证书,尝试获取新证书,但它只是永远等待显然永远不会出现的 acme 挑战。据我所知,我的用法是完全正确的(这在过去几周内一直有效,
运行以下代码时出现错误: acme: authorization error for domain (where domain is replaced by my actual domain) 有没有
我尝试从 autocert 文档中运行此示例代码,并将其更改为使用我的域: package main import ( "fmt" "log" "net/http" "
完整的错误消息是: 403 urn:acme:error:unauthorized: Account creation on ACMEv1 isdisabled. Please upgrade you
我是一名优秀的程序员,十分优秀!