HTTP ಫಾರ್ವರ್ಡ್ ಪ್ರಾಕ್ಸಿಗಾಗಿ Gorilla ನ Dialer.Proxy ಕಾನ್ಫಿಗರ್ ಮಾಡಿ. WebSocket URL ಗಮ್ಯಸ್ಥಾನವಾಗಿಯೇ ಉಳಿಯುತ್ತದೆ:

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)

ಈ ತುಣುಕು ಅಪ್ಲಿಕೇಶನ್‌ನ ಸಂಪರ್ಕ ಕಾರ್ಯದಲ್ಲಿದೆ, net/url, net/http, time ಮತ್ತು github.com/gorilla/websocket ಲಭ್ಯವಿರುತ್ತವೆ. err ಮತ್ತು ಯಾವುದೇ ವಿಫಲ handshake ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನಿರ್ವಹಿಸಿ, ನಂತರ ಸಾಮಾನ್ಯ ಸಂದೇಶ ಮತ್ತು ಮುಚ್ಚುವ ಜೀವನಚಕ್ರದ ಮೂಲಕ conn ನಿರ್ವಹಿಸಿ. ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ WSS ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಾಗಿ, HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ proxyURL ಗಾಗಿ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.

HTTP ಪ್ರಾಕ್ಸಿ ಡಯಲರ್ ಮಧ್ಯವರ್ತಿ ಸಂಪರ್ಕವನ್ನು ತೆರೆದು ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ CONNECT ಕಳುಹಿಸುತ್ತದೆ. wss ಗಾಗಿ, WebSocket handshake ಮೊದಲು ಸ್ಥಾಪಿತ ಸುರಂಗದ ಮೂಲಕ ಗಮ್ಯಸ್ಥಾನದ TLS ಸಾಗುತ್ತದೆ.

NetDialContext ಕೆಳಮಟ್ಟದ TCP ಸಂಪರ್ಕವನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡುತ್ತದೆ. ಅದನ್ನು ಕೇವಲ ಪ್ರಾಕ್ಸಿ ಪೋರ್ಟ್‌ಗೆ ತೋರಿಸುವುದು CONNECT ಅನ್ನು ಜಾರಿಗೊಳಿಸುವುದಿಲ್ಲ. Proxy ಕೂಡ ಸೆಟ್ ಆಗಿದ್ದರೆ, ಕಸ್ಟಮ್ ನೆಟ್‌ವರ್ಕ್ ಕಾಲ್‌ಬ್ಯಾಕ್ ಮಧ್ಯವರ್ತಿಯೊಂದಿಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ, ಪ್ರಾಕ್ಸಿ ಪದರವು ಮಾತುಕತೆ ನಿರ್ವಹಿಸುತ್ತದೆ.

wss URL ನಲ್ಲಿ ಗಮ್ಯಸ್ಥಾನದ ಹೋಸ್ಟ್‌ಹೆಸರನ್ನು ಇರಿಸಿ, ಇದರಿಂದ ಸಾಮಾನ್ಯ TLS ಗುರುತು ಪರಿಶೀಲನೆ ಉದ್ದೇಶಿತ ಸರ್ವರ್‌ಗೆ ಅನ್ವಯವಾಗುತ್ತದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು