首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Caddy服务器Certmagic -无效的内存地址

Caddy服务器Certmagic -无效的内存地址
EN

Stack Overflow用户
提问于 2021-06-20 19:27:23
回答 1查看 61关注 0票数 1

我正在尝试使用certmagic设置一个服务器,但每次我运行代码时都会得到下面的堆栈消息,我在网上看到的所有地方都说你只需要做certmagic.HTTPS([]string{"my-domain.com"}, router),但这里肯定缺少什么?

代码语言:javascript
复制
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x6dd407]

goroutine 1 [running]:
go.uber.org/zap.(*Logger).check(0x0, 0xff, 0xc000026858, 0x11, 0xc000064f40)
    /.../go/pkg/mod/go.uber.org/zap@v1.17.0/logger.go:265 +0x987
go.uber.org/zap.(*Logger).Debug(0x0, 0xc000026858, 0x11, 0xc000064f40, 0x1, 0x1)
    /.../go/pkg/mod/go.uber.org/zap@v1.17.0/logger.go:180 +0x45
github.com/caddyserver/certmagic.(*Config).obtainCert.func2(0x8f2e70, 0xc0000240e0, 0x8f5370, 0xb14d30)
    /.../go/pkg/mod/github.com/caddyserver/certmagic@v0.14.0/config.go:511 +0x5c5
github.com/caddyserver/certmagic.(*Config).obtainCert(0xc0000952c0, 0x8f2e70, 0xc0000240e0, 0x873baf, 0x16, 0x1, 0x0, 0x0)
    /.../go/pkg/mod/github.com/caddyserver/certmagic@v0.14.0/config.go:566 +0x3a8
github.com/caddyserver/certmagic.(*Config).ObtainCertSync(...)
    /.../go/pkg/mod/github.com/caddyserver/certmagic@v0.14.0/config.go:421
github.com/caddyserver/certmagic.(*Config).manageOne.func1(0x842da0, 0xc000064400)
    /.../go/pkg/mod/github.com/caddyserver/certmagic@v0.14.0/config.go:334 +0x412
github.com/caddyserver/certmagic.(*Config).manageOne(0xc0000952c0, 0x8f2e70, 0xc0000240e0, 0x873baf, 0x16, 0x0, 0x0, 0x8f5370)
    /.../go/pkg/mod/github.com/caddyserver/certmagic@v0.14.0/config.go:361 +0x27b
github.com/caddyserver/certmagic.(*Config).manageAll(0xc0000952c0, 0x8f2e70, 0xc0000240e0, 0xc000020f60, 0x1, 0x1, 0xb45100, 0x0, 0x0)
    /.../go/pkg/mod/github.com/caddyserver/certmagic@v0.14.0/config.go:312 +0x1f1
github.com/caddyserver/certmagic.(*Config).ManageSync(...)
    /.../go/pkg/mod/github.com/caddyserver/certmagic@v0.14.0/config.go:251
github.com/caddyserver/certmagic.HTTPS(0xc000020f60, 0x1, 0x1, 0x8ec800, 0xc0000da0c0, 0x0, 0x0)
    /.../go/pkg/mod/github.com/caddyserver/certmagic@v0.14.0/certmagic.go:76 +0xdb
main.main()
    /var/www/test/main.go:17 +0xe7

代码是目前尽可能最少的,因为在考虑将其扩展到其他项目之前,只是从头开始了解它是如何工作的

代码语言:javascript
复制
package main

import (
    "github.com/caddyserver/certmagic"
    "github.com/gorilla/mux"
    "log"
    "net/http"
)

func main() {
    router := mux.NewRouter()
    router.HandleFunc("/", func (w http.ResponseWriter, r *http.Request) {
        _, _ = w.Write([]byte("Hello world"))
    })
    log.Fatal(certmagic.HTTPS([]string{"my-domain.com"}, router))
}

甚至更简单的(certmagic上提供的一个示例)会得到相同的错误堆栈

代码语言:javascript
复制
func main() {
    handler := http.HandlerFunc(func (w http.ResponseWriter, r *http.Request) {
        _, _ = w.Write([]byte("Hello world"))
    })
    certmagic.HTTPS([]string{"my-domain.com"}, handler)
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-21 05:13:59

这是certmagic中的一个已知错误,已被修复和合并。

您可以在此处查看详细信息:https://github.com/caddyserver/certmagic/pull/135

它们似乎经常发布,因此可以等待几天来发布新版本,或者同时使用主分支而不是v0.14.0。

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

https://stackoverflow.com/questions/68055349

复制
相关文章

相似问题

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