Hi,
I am investigating if it would make sense to use gVisor and Go for a larger software project. It would be great with some input on if this would be a good fit.
A part of this project would be to implement an HTTPS server from raw IP packets. That is, the program needs to implement an HTTPS server that communicate with raw IP packets over a Go API call.
Using the Go standard library functions to terminate TLS and HTTP seems pretty straight forward to me: The go crypto packet seems to be able to work on a net.Conn interface which I can implement myself. This will give me a crypto.Conn that I can feed into an HTTP server from net.http.
But what about terminating a TCP connection based on raw IP packets? That is, creating a net.Conn from raw IP packets? Can I somehow use gVisor for that? And if so, will it pull in a lot of extra code making my compiled program 10s of megabytes larger?
Thanks in advance,
Christian