TUN-4970: Only default to http2 for warp-routing if protocol is h2mux
This commit is contained in:
parent
836149a5b0
commit
1da4fbbe0b
|
@ -179,10 +179,16 @@ func NewProtocolSelector(
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// warp routing can only be served over http2 connections
|
// warp routing cannot be served over h2mux connections
|
||||||
if warpRoutingEnabled {
|
if warpRoutingEnabled {
|
||||||
if protocolFlag == H2mux.String() {
|
if protocolFlag == H2mux.String() {
|
||||||
log.Warn().Msg("Warp routing is only supported by http2 protocol. Upgrading protocol to http2")
|
log.Warn().Msg("Warp routing is not supported in h2mux protocol. Upgrading to http2 to allow it.")
|
||||||
|
}
|
||||||
|
|
||||||
|
if protocolFlag == QUIC.String() {
|
||||||
|
return &staticProtocolSelector{
|
||||||
|
current: QUIC,
|
||||||
|
}, nil
|
||||||
}
|
}
|
||||||
return &staticProtocolSelector{
|
return &staticProtocolSelector{
|
||||||
current: HTTP2,
|
current: HTTP2,
|
||||||
|
@ -195,6 +201,10 @@ func NewProtocolSelector(
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if protocolFlag == QUIC.String() {
|
||||||
|
return newAutoProtocolSelector(QUIC, explicitHTTP2FallbackThreshold, fetchFunc, ttl, log), nil
|
||||||
|
}
|
||||||
|
|
||||||
http2Percentage, err := fetchFunc()
|
http2Percentage, err := fetchFunc()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Err(err).Msg("Unable to lookup protocol. Defaulting to `http2`. If this fails, you can set `--protocol h2mux` in your cloudflared command.")
|
log.Err(err).Msg("Unable to lookup protocol. Defaulting to `http2`. If this fails, you can set `--protocol h2mux` in your cloudflared command.")
|
||||||
|
@ -209,10 +219,6 @@ func NewProtocolSelector(
|
||||||
return newAutoProtocolSelector(HTTP2, explicitHTTP2FallbackThreshold, fetchFunc, ttl, log), nil
|
return newAutoProtocolSelector(HTTP2, explicitHTTP2FallbackThreshold, fetchFunc, ttl, log), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if protocolFlag == QUIC.String() {
|
|
||||||
return newAutoProtocolSelector(QUIC, explicitHTTP2FallbackThreshold, fetchFunc, ttl, log), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if protocolFlag != autoSelectFlag {
|
if protocolFlag != autoSelectFlag {
|
||||||
return nil, fmt.Errorf("Unknown protocol %s, %s", protocolFlag, AvailableProtocolFlagMessage)
|
return nil, fmt.Errorf("Unknown protocol %s, %s", protocolFlag, AvailableProtocolFlagMessage)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue