rp
is a reverse proxy package for multiple domains and multiple upstreams.
Prepare an instance that satisfies rp.Relayer
interface.
And then, create a new http.Server
using rp.NewServer
or rp.NewTLSServer
with the instance.
package main
import (
"log"
"net/http"
"github.com/k1LoW/rp"
)
func main() {
r := newMyRelayer()
s := rp.NewTLSServer(r)
if err := s.ListenAndServe(":443"); err != nil {
log.Fatal(err)
}
}