|  Toby Chui
				
				58dc07aa01
				Forced ws upgrader to accept cors request | 3 年之前 | |
|---|---|---|
| .. | ||
| LICENSE.md | 4 年之前 | |
| README.md | 4 年之前 | |
| websocketproxy.go | 3 年之前 | |
| websocketproxy_test.go | 3 年之前 | |
WebsocketProxy is an http.Handler interface build on top of gorilla/websocket that you can plug into your existing Go webserver to provide WebSocket reverse proxy.
go get github.com/koding/websocketproxy
Below is a simple server that proxies to the given backend URL
package main
import (
	"flag"
	"net/http"
	"net/url"
	"github.com/koding/websocketproxy"
)
var (
	flagBackend = flag.String("backend", "", "Backend URL for proxying")
)
func main() {
	u, err := url.Parse(*flagBackend)
	if err != nil {
		log.Fatalln(err)
	}
	err = http.ListenAndServe(":80", websocketproxy.NewProxy(u))
	if err != nil {
		log.Fatalln(err)
	}
}
Save it as proxy.go and run as:
go run proxy.go -backend ws://example.com:3000
Now all incoming WebSocket requests coming to this server will be proxied to
ws://example.com:3000