envoyproxy / envoyproxy/gateway

HTTPS and TLS listeners on the same port

Open
#9,516 4 comments 0 reactions 0 assignees View on GitHub
kind/bug
Dominant language
Go
Stars
3k
Forks
864
Avg merge
2d 2h
Merged PRs (30d)
140

Description

*Description*:
The following `Gateway`:

```yaml
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: default-external-gateway
namespace: gateway-system
spec:
gatewayClassName: external
listeners:
- allowedRoutes:
namespaces:
from: All
name: http
port: 80
protocol: HTTP
- allowedRoutes:
namespaces:
from: All
name: https
port: 443
protocol: HTTPS
tls:
certificateRefs:
- group: ""
kind: Secret
name: external-certificate
mode: Terminate
- allowedRoutes:
namespaces:
from: All
hostname: tls-test.domain.local
name: tls-1
port: 443
protocol: TLS
tls:
mode: Passthrough
```
causes the error messages in envoy pod:

```
[2026-07-17 07:33:17.467][1][warning][config] [source/extensions/config_subscription/grpc/grpc_subscription_impl.cc:138] gRPC config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: Error adding/updating listener(s) gateway-system/default-external-gateway/https: error adding listener '0.0.0.0:10443': filter chain 'EmptyCluster' has the same matching rules defined as 'gateway-system/default-external-gateway/https'. duplicate matcher is: {}
```
The environment:
EnvoyGateway v1.8.2
Envoy v1.38.3
K8S v1.35.0

[*Relevant Links*:]
IT looks similar to [issue](https://github.com/envoyproxy/gateway/issues/7866)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the shown Gateway configuration on Envoy Gateway v1.8.2 and inspect the generated Envoy listener and filter-chain configuration for port 443. Trace how the HTTPS and TLS listeners are translated, then verify that both can coexist without the duplicate-matcher rejection shown in the Envoy pod logs.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend-api-design, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.