add sni for mws and ws
This commit is contained in:
@@ -176,7 +176,9 @@ func (d *mwsDialer) initSession(ctx context.Context, host string, conn net.Conn,
|
||||
urlObj := url.URL{Scheme: "ws", Host: host, Path: d.md.path}
|
||||
if d.tlsEnabled {
|
||||
urlObj.Scheme = "wss"
|
||||
d.options.TLSConfig.ServerName = host
|
||||
if d.md.sni != "" {
|
||||
d.options.TLSConfig.ServerName = d.md.sni
|
||||
}
|
||||
dialer.TLSClientConfig = d.options.TLSConfig
|
||||
dialer.NetDialTLSContext = func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||
client, err := util.NewUTLSWebSocketClient(conn, d.options.TLSConfig, d.md.useH2)
|
||||
|
||||
@@ -19,6 +19,7 @@ type metadata struct {
|
||||
path string
|
||||
|
||||
useH2 bool
|
||||
sni string
|
||||
|
||||
handshakeTimeout time.Duration
|
||||
readHeaderTimeout time.Duration
|
||||
@@ -80,6 +81,7 @@ func (d *mwsDialer) parseMetadata(md mdata.Metadata) (err error) {
|
||||
d.md.tcpKeepaliveCount = mdutil.GetInt(md, "tcp.keepalive.count")
|
||||
|
||||
d.md.useH2 = mdutil.GetBool(md, "h2")
|
||||
d.md.sni = mdutil.GetString(md, "sni")
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user