Skip to content

Instantly share code, notes, and snippets.

@podhmo
Created December 11, 2019 09:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save podhmo/24e0cdb4d3a1288f59ba826f6925a09b to your computer and use it in GitHub Desktop.
Save podhmo/24e0cdb4d3a1288f59ba826f6925a09b to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"log"
"net/http"
"net/http/httputil"
"net/url"
"os"
)
func main() {
// port, backendServerURL, staticDir
port := os.Args[1]
backendServerURL := os.Args[2]
staticDir := os.Args[3]
rpURL, err := url.Parse(backendServerURL)
if err != nil {
log.Fatal(err)
}
fmt.Fprintf(os.Stderr, "start: port=%q, staticDir=%q\n", port, staticDir)
mux := http.DefaultServeMux
mux.Handle("/", httputil.NewSingleHostReverseProxy(rpURL))
mux.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir(staticDir))))
if err := http.ListenAndServe(fmt.Sprintf(":%s", port), mux); err != nil {
log.Fatal(err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment