This was part of an interview technical challenge but I decided to write it out as an actual Golang tool. It has a program for starting the reverse proxy from command line as well as package interfaces for using the proxy handler and implementing the target server encryption.
Github repo: https://github.com/wybiral/reverseproxy
Godoc page: https://godoc.org/github.com/wybiral/reverseproxy
Github repo: https://github.com/wybiral/reverseproxy
Godoc page: https://godoc.org/github.com/wybiral/reverseproxy