Any document for QUIC protocol?

Hello world,

I’m new to Caddy and would like to establish some experiments for QUIC protocol. But I didn’t find any documents/tutorials/README about QUIC (the only thing I find is “Experimental QUIC support for those that like speed” in README).

Could anyone point me some material for Caddy with QUIC? I’m sorry if I missed anything here.

Thanks in advance!

Hey zzy, welcome.

This wiki page describes how to use QUIC: https://github.com/mholt/caddy/wiki/QUIC

Thank you Matt! That’s exactly what I need.

I got an exception while testing it though (perhaps because of the certificate?)
I’m using a a real, trusted certificate (a .cer file) and I put it at ~/.caddy. I start the server by caddy -quic and the client is the prototype from chromium (Playing with QUIC - The Chromium Projects): ./quic_client --host=127.0.0.1 --port=2015 --v=1 https://www.google.com. I fetched the files from google and modified their headers.

Now the stack trace at the server side looks like:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x48 pc=0x843966]

goroutine 54 [running]:
github.com/lucas-clemente/quic-go/crypto.maybeGetConfigForClient(0x0, 0xc420194a70, 0xe, 0xc420194a70, 0xc4201dddf0, 0x4461d8)
/home/zzy/quic/quic-go/src/github.com/lucas-clemente/quic-go/crypto/config_for_client_1.8.go:8 +0x26
github.com/lucas-clemente/quic-go/crypto.(*certChain).getCertForSNI(0xc4201d8000, 0xc420194a70, 0xe, 0xc4201dde68, 0x67c5da98, 0xa801ef4182ec766d)
/home/zzy/quic/quic-go/src/github.com/lucas-clemente/quic-go/crypto/cert_chain.go:60 +0x52
github.com/lucas-clemente/quic-go/crypto.(*certChain).GetLeafCert(0xc4201d8000, 0xc420194a70, 0xe, 0xc42021c118, 0xc420194a01, 0xe, 0xc4201ddec0, 0x41217c)
/home/zzy/quic/quic-go/src/github.com/lucas-clemente/quic-go/crypto/cert_chain.go:51 +0x43
github.com/lucas-clemente/quic-go/handshake.(*cryptoSetupServer).handleMessage(0xc4202080d0, 0xc420214000, 0x514, 0x61a, 0xc420190930, 0x0, 0x0, 0x0)
/home/zzy/quic/quic-go/src/github.com/lucas-clemente/quic-        go/handshake/crypto_setup_server.go:137 +0x227
github.com/lucas-clemente/quic-go/handshake.(*cryptoSetupServer).HandleCryptoStream(0xc4202080d0, 0x0, 0x0)
/home/zzy/quic/quic-go/src/github.com/lucas-clemente/quic-go/handshake/crypto_setup_server.go:94 +0x22c
github.com/lucas-clemente/quic-go.(*session).run.func1(0xc420072d00)
/home/zzy/quic/quic-go/src/github.com/lucas-clemente/quic-go/session.go:192 +0x3a
created by github.com/lucas-clemente/quic-go.(*session).run
/home/zzy/quic/quic-go/src/github.com/lucas-clemente/quic-go/session.go:195 +0x57

And the client complains “Error: QUIC_PEER_GOING_AWAY”.

Do you have any idea with this issue? Do I miss any configurations here?

Thanks again for your kind help!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.