@@ -341,7 +341,7 @@ type Listener struct {
341
341
// The semantics of this are described in more detail below.
342
342
//
343
343
// To ensure security, Section 11.1 of RFC-6066 emphasizes that server
344
- // implementations that rely on SNI hostnames matching must also verify
344
+ // implementations that rely on SNI hostname matching MUST also verify
345
345
// hostnames within the application protocol.
346
346
//
347
347
// Section 9.1.2 of RFC-7540 provides a mechanism for servers to reject the
@@ -351,12 +351,16 @@ type Listener struct {
351
351
//
352
352
// To detect misdirected requests, Gateways SHOULD match the authority of
353
353
// the requests with all the SNI hostname(s) configured across all the
354
- // Gateway Listeners on the same port:
354
+ // Gateway Listeners on the same port and protocol :
355
355
//
356
356
// * If another Listener has an exact match or more specific wildcard entry,
357
- // the Gateway should return a 421.
358
- // * If the current Listener doesn’t match the SNI or Host, the reverse
359
- // proxy should return a 421.
357
+ // the Gateway SHOULD return a 421.
358
+ // * If the current Listener (selected by SNI matching during ClientHello)
359
+ // does not match the Host:
360
+ // * If another Listener does match the Host the Gateway SHOULD return a
361
+ // 421.
362
+ // * If no other Listener matches the Host, the Gateway MUST return a
363
+ // 404.
360
364
//
361
365
// For HTTPRoute and TLSRoute resources, there is an interaction with the
362
366
// `spec.hostnames` array. When both listener and route specify hostnames,
@@ -1297,11 +1301,11 @@ const (
1297
1301
// SAN for foo.example.com.
1298
1302
//
1299
1303
// This overlapping TLS configuration can be particularly problematic when
1300
- // combined with connection coalescing. When client reuse connections using
1301
- // this technique, it can have confusing interactions with Gateway API, such
1302
- // as TLS configuration for one Listener getting used for a request reusing
1303
- // an existing connection that would not be used for the request using a new
1304
- // connection.
1304
+ // combined with HTTP connection coalescing. When clients reuse connections
1305
+ // using this technique, it can have confusing interactions with Gateway
1306
+ // API, such as TLS configuration for one Listener getting used for a
1307
+ // request reusing an existing connection that would not be used if the same
1308
+ // request was initiating a new connection.
1305
1309
//
1306
1310
// Controllers MUST detect the presence of overlapping hostnames and MAY
1307
1311
// detect the presence of overlapping certificates.
@@ -1322,6 +1326,9 @@ const (
1322
1326
// * "OverlappingHostnames"
1323
1327
// * "OverlappingCertificates"
1324
1328
//
1329
+ // If a controller supports checking for both possible reasons and finds
1330
+ // that both are true, it SHOULD set the "OverlappingCertificates" Reason.
1331
+ //
1325
1332
// This is a negative polarity condition and MUST NOT be set when it is
1326
1333
// False.
1327
1334
//
0 commit comments