Nginx的免費解決方案的機器的IP。
首先,你可以重定向connections on port 80 as a normal user
sudo apt-get install iptables-persistent
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8000
sudo netfilter-persistent save
sudo netfilter-persistent reload
然後使用gorilla/mux或類似建立一個路由,每個主機,甚至從它
r := mux.NewRouter()
s := r.Host("www.example.com").Subrouter()
因此,完整的解決方案獲得了「subrouter」將是
package main
import (
"net/http"
"github.com/gorilla/mux"
"fmt"
)
func Example1IndexHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello www.example1.com!") // send data to client side
}
func Example2IndexHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello www.example2.com!") // send data to client side
}
func main() {
r := mux.NewRouter()
s1 := r.Host("www.example1.com").Subrouter()
s2 := r.Host("www.example2.com").Subrouter()
s1.HandleFunc("/", Example1IndexHandler)
s2.HandleFunc("/", Example2IndexHandler)
http.ListenAndServe(":8000", nil)
}
https://www.nginx.com/resources/admin-guide/reverse-proxy/ – tkausl