跳至正文
Wener Notes

Go Cookbook

约 1 分钟阅读
标签:实践手册

http reverse proxy

go
package main

import (
	"fmt"
	"log"
	"net/http"
	"net/http/httputil"
	"net/url"
)

func main() {
	u, _ := url.Parse("https://wener.me")
	proxy := httputil.NewSingleHostReverseProxy(u)

	proxy.Director = func(r *http.Request) {
		r.URL.Scheme = u.Scheme
		r.URL.Host = u.Host
		r.Host = u.Host
		dump, _ := httputil.DumpRequest(r, false)
		fmt.Println(string(dump))
	}
	http.Handle("/", proxy)
	log.Fatalln(http.ListenAndServe(":8088", http.DefaultServeMux))
}
bash
curl 127.0.0.1:8088
最近更新commit 19e6177编辑