HTTP birbidaltze-proxy baterako, konfiguratu Gorillaren Dialer.Proxy. WebSocket URLa helmuga izaten jarraitzen du:

proxyURL, err := url.Parse("http://proxy.example:8080")
if err != nil {
    return err
}
dialer := websocket.Dialer{
    Proxy: http.ProxyURL(proxyURL),
    HandshakeTimeout: 15 * time.Second,
}
conn, response, err := dialer.DialContext(
    ctx, "wss://events.example/stream", nil)

Zati hau aplikazioaren konexio-funtzioan doa, net/url, net/http, time eta github.com/gorilla/websocket eskuragarri daudelarik. Kudeatu err eta huts egindako handshake erantzun oro, eta gero kudeatu conn mezu eta itxiera bizitza-ziklo arruntaren bidez. Baimendutako WSS amaiera-puntu publiko baterako, HTTP proxy zerrendak proxyURLerako hautagaiak ematen ditu.

HTTP proxy dialerrak bitarteko konexioa irekitzen du eta CONNECT bidaltzen dio helmugari. wss-rako, helmugako TLS ezarritako tunelaren bidez doa WebSocket handshakearen aurretik.

NetDialContextek beheragoko TCP konexioa pertsonalizatzen du. Proxy portu batera soilik zuzentzeak ez du CONNECT ezartzen. Proxy ere ezarrita badago, sare-callback pertsonalizatuak bitartekariarekin konektatzen du, eta proxy geruzak negoziazioa kudeatzen du.

Mantendu helmugako ostalari-izena wss URLan, TLS identitate-egiaztapen arrunta xede den zerbitzariari aplika dakion.

Erlazionatutako artikuluak