Make Tyk Gateway Support TLS Certificate for Two Ports?

Thanks for the information.

I can confirm that Tyk does work when using HTTP and gRPC for one port. I have shared a snippet of my API definitions at the bottom of this reply and outlined the main differences needed for it to work below:

  1. Both API definition protocols have to be set as http
  2. Each respective target URL should use their intended protocol. For example HTTP API definition would use http:// and the gRPC API definition would use h2c://
  3. The gRPC listen path must be set as the root (/), while the HTTP can have a sub path like /http/.

I will try to reproduce the issue with HTTPs and RPC on two different ports and give you the feedback.

HTTP API Definition

...
	"listen_port": 6067,
	"protocol": "http",
	"proxy": {
		"check_host_against_uptime_tests": false,
		"disable_strip_slash": false,
		"enable_load_balancing": false,
		"listen_path": "/http/",
		"preserve_host_header": false,
		"service_discovery": {
			"_sd_show_port_path": false,
			"cache_timeout": 0,
			"data_path": "",
			"endpoint_returns_list": false,
			"parent_data_path": "",
			"port_data_path": "",
			"query_endpoint": "",
			"target_path": "",
			"use_discovery_service": false,
			"use_nested_query": false,
			"use_target_list": false
		},
		"strip_listen_path": true,
		"target_list": [],
		"target_url": "http://host.docker.internal:80/anything",
	}
...

gRPC API Definition

...
	"listen_port": 6067,
	"protocol": "http",
	"proxy": {
		"check_host_against_uptime_tests": false,
		"disable_strip_slash": false,
		"enable_load_balancing": false,
		"listen_path": "/",
		"preserve_host_header": false,
		"service_discovery": {
			"_sd_show_port_path": false,
			"cache_timeout": 0,
			"data_path": "",
			"endpoint_returns_list": false,
			"parent_data_path": "",
			"port_data_path": "",
			"query_endpoint": "",
			"target_path": "",
			"use_discovery_service": false,
			"use_nested_query": false,
			"use_target_list": false
		},
		"strip_listen_path": true,
		"target_list": [],
		"target_url": "h2c://host.docker.internal:50052"
	}
...