#proxy #envoyproxy
#прокси #envoyproxy
Вопрос:
Я пытаюсь установить 2 прослушивателя в конфигурации с разными портами и кластерами для перенаправления
static_resources:
listeners:
- name: listener_back_end
address:
socket_address: { address: 0.0.0.0, port_value: 9090 }
filter_chains:
- filters:
- name: envoy.tcp_proxy
config:
stat_prefix: ingress_tcp
cluster: back_end
tls_context:
common_tls_context:
tls_certificates:
- certificate_chain:
filename: "/ProxyServerConfig/SSL/certificate.crt"
private_key:
filename: "/ProxyServerConfig/SSL/private.key"
clusters:
- name: back_end
connect_timeout: 0.2s
type: STATIC
lb_policy: ROUND_ROBIN
hosts: [{ socket_address: { address: 192.168.1.4, port_value: 1990
}}]
- name: listener_front_end
address:
socket_address: { address: 0.0.0.0, port_value: 443 }
filter_chains:
- filters:
- name: envoy.tcp_proxy
config:
stat_prefix: ingress_tcp
cluster: front_end
tls_context:
common_tls_context:
tls_certificates:
- certificate_chain:
filename: "/ProxyServerConfig/SSL/certificate.crt"
private_key:
filename: "/ProxyServerConfig/SSL/private.key"
clusters:
- name: front_end
connect_timeout: 0.2s
type: STATIC
lb_policy: ROUND_ROBIN
hosts: [{ socket_address: { address: 192.168.1.5, port_value: 8081
}}]
запускается envoy, но когда я пытаюсь открыть в браузере любой из этих портов, я получаю: ERR_CONNECTION_CLOSED. Каждая конфигурация работает отдельно…
Кто-нибудь может помочь? Спасибо!
Ответ №1:
попробуйте переместить прослушиватель из конфигурации кластера. Объедините своих слушателей и свои кластеры.
static_resources:
listeners:
- name: listener_back_end
address:
socket_address: { address: 0.0.0.0, port_value: 9090 }
filter_chains:
- filters:
- name: envoy.tcp_proxy
config:
stat_prefix: ingress_tcp
cluster: back_end
tls_context:
common_tls_context:
tls_certificates:
- certificate_chain:
filename: "/ProxyServerConfig/SSL/certificate.crt"
private_key:
filename: "/ProxyServerConfig/SSL/private.key"
- name: listener_front_end
address:
socket_address: { address: 0.0.0.0, port_value: 443 }
filter_chains:
- filters:
- name: envoy.tcp_proxy
config:
stat_prefix: ingress_tcp
cluster: front_end
tls_context:
common_tls_context:
tls_certificates:
- certificate_chain:
filename: "/ProxyServerConfig/SSL/certificate.crt"
private_key:
filename: "/ProxyServerConfig/SSL/private.key"
clusters:
- name: back_end
connect_timeout: 0.2s
type: STATIC
lb_policy: ROUND_ROBIN
hosts: [{ socket_address: { address: 192.168.1.4, port_value: 1990
- name: front_end
connect_timeout: 0.2s
type: STATIC
lb_policy: ROUND_ROBIN
hosts: [{ socket_address: { address: 192.168.1.5, port_value: 8081
}}]