Size: a a a

Kubernetes — русскоговорящее сообщество

2020 December 22

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
Vladimir Zemtsov
Получилось настроить трафик через внешний прокси, так, чтобы поды не знали о прокси.
HTTP - работает нормально
HTTPS - ловится ошибка: "curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection"

Настройка:
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
 name: proxy
spec:
 hosts:
 - proxy.external.ru
 ports:
 - number: 3128
   name: tcp
   protocol: TCP
 resolution: DNS
 location: MESH_EXTERNAL

---
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
 name: wikipedia-org
spec:
 hosts:
 - wikipedia.org
 ports:
 - number: 80
   name: http
   protocol: HTTP
 resolution: DNS
 location: MESH_EXTERNAL

---
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
 name: wikipedia-org-https
spec:
 hosts:
 - wikipedia.org
 ports:
 - number: 443
   name: https
   protocol: HTTPS
 resolution: DNS
 location: MESH_EXTERNAL

---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
 name: wikipedia-org
 namespace: test
spec:
 hosts:
 - wikipedia.org
 gateways:
 - mesh
 http:
 - match:
   - gateways:
     - mesh
     port: 80
   route:
   - destination:
       host: proxy.external.ru
       port:
         number: 3128
 tls:
 - match:
   - gateways:
     - mesh
     port: 443
     sniHosts:
     - wikipedia.org
   route:
   - destination:
       host: proxy.external.ru
       port:
         number: 3128



Подскажите как ошибку серта пофиксить?
Ооо каеф словли багуи истио
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
назови порт у дестанетион https
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
а не http
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
и он перестанет так делать
источник

VZ

Vladimir Zemtsov in Kubernetes — русскоговорящее сообщество
я знаю про эту багую (когда вредрял istio пришлось нэйминги менять во всех сервисах), но тут же все нормально указано. В дестинейшане VS конкретно порт указывается же
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
Вообщем эта ошибка говорит о том что SNI не работает (криво работает)
источник

VZ

Vladimir Zemtsov in Kubernetes — русскоговорящее сообщество
а в остальных местах имя протокола совпадает с именем порта
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
Даже не знаю чем подсказать - я istio только трогать начал - не выглядит пока плюнул и поехал - там очень много траблов и подводных камней
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
попробуй сделать отдельный без определения http вообще
источник

VZ

Vladimir Zemtsov in Kubernetes — русскоговорящее сообщество
Aleksey Lazarev
попробуй сделать отдельный без определения http вообще
Не поможет) Комбинации конфига я уже все перебрал
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Aleksey Lazarev
Вообщем эта ошибка говорит о том что SNI не работает (криво работает)
там вообще нет SNI
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
В смысле? envoy ж смотрит че ты за хост передал не?
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Aleksey Lazarev
В смысле? envoy ж смотрит че ты за хост передал не?
в прямом. у него прокся не умеет в https
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
вон в переменных окружения наисовано.
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
Lucky SB
в прямом. у него прокся не умеет в https
падажиебана
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
А как gateway по tls у istio работает
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
https_proxy = HTTP://
источник

VZ

Vladimir Zemtsov in Kubernetes — русскоговорящее сообщество
Lucky SB
https_proxy = HTTP://
И прокси туннель для curl'aна HTTPS работает
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Vladimir Zemtsov
И прокси туннель для curl'aна HTTPS работает
чо за прокси туннель ? таких не бывает
источник

VZ

Vladimir Zemtsov in Kubernetes — русскоговорящее сообщество
Vladimir Zemtsov
# env | grep proxy
http_proxy=http://proxy.external.ru:3128
https_proxy=http://proxy.external.ru:3128

# curl -v https://wikipedia.org
...
* Connected to proxy.external.ru (192.168.1.11) port 3128 (#0)
* Establish HTTP proxy tunnel to wikipedia.org:443
> CONNECT wikipedia.org:443 HTTP/1.1
> Host: wikipedia.org:443
...
< HTTP/1.1 200 OK
...

Вот с хост машины курл
вот же
источник