Ka neʻe ʻana mai Nginx i Envoy Proxy

Aloha, Habr! Ke lawe nei au i kou noonoo i ka unuhi o ka pou: Ka neʻe ʻana mai Nginx i Envoy Proxy.

ʻO Envoy kahi kikowaena hoʻolaha hoʻolaha kiʻekiʻe (i kākau ʻia ma C ++) i hoʻolālā ʻia no nā lawelawe pilikino a me nā noi, ʻo ia hoʻi kahi kaʻa kamaʻilio a me ka "universal data plane" i hoʻolālā ʻia no ka microservice nui "service mesh" architectures. I ka hoʻokumu ʻana iā ia, ua noʻonoʻo ʻia nā hoʻonā i nā pilikia i kū mai i ka wā o ka hoʻomohala ʻana o nā kikowaena e like me NGINX, HAProxy, nā mea hoʻokele ukana a me nā mea kaulike o ke ao. Hana pū ʻo Envoy me kēlā me kēia noi a hoʻokaʻawale i ka pūnaewele e hāʻawi i nā hana maʻamau me ka nānā ʻole i ke kahua. Ke holo nei nā lawelawe lawelawe a pau i loko o ka Envoy mesh, lilo ia i mea maʻalahi ke ʻike i nā wahi pilikia me ka nānā mau ʻana, hoʻokani i ka hana holoʻokoʻa, a hoʻohui i nā hana koʻikoʻi ma kahi kikoʻī.

Nā Kūlana

  • ʻO ka hoʻolālā o waho: ʻo ka ʻelele kahi kikowaena hana kiʻekiʻe e lawe i kahi liʻiliʻi o ka RAM. Hana pū ia me kekahi ʻōlelo noiʻi a i ʻole ka hoʻolālā.
  • Kākoʻo http/2 a me grpc: loaʻa i ka ʻelele ka papa mua http/2 a me ke kākoʻo grpc no nā pilina komo a puka i waho. ʻO kēia kahi mea hoʻololi akaka mai http/1.1 a i http/2.
  • Advanced Load Balancing: Kākoʻo ka ʻelele i nā hiʻohiʻona hoʻohālikelike ukana holomua e pili ana i ka hoʻihoʻi hou ʻana, ka haki ʻana i ke kaulahao, ka palena palena honua, ke noi ʻana i ke aniani, ke kaupaona ʻana o ka ukana kūloko, etc.
  • Configuration Management API: Hāʻawi ka ʻelele i kahi API ikaika no ka hoʻokele ikaika ʻana i kāu hoʻonohonoho.
  • ʻIke ʻia: ʻike hohonu o ka holo ʻana o L7, kākoʻo maoli no ka hoʻolaha ʻana a me ka nānā ʻana o mongodb, dynamodb a me nā noi ʻē aʻe he nui.

KaʻAnuʻu 1 - Hoʻohālike NGINX Config

Hoʻohana kēia palapala i kahi faila i hana ʻia nginx.conf, ma muli o ka laʻana piha mai NGINX Wiki. Hiki iā ʻoe ke nānā i ka hoʻonohonoho ʻana ma ka hoʻoponopono ma ka wehe ʻana nginx.conf

nginx kumu config

user  www www;
pid /var/run/nginx.pid;
worker_processes  2;

events {
  worker_connections   2000;
}

http {
  gzip on;
  gzip_min_length  1100;
  gzip_buffers     4 8k;
  gzip_types       text/plain;

  log_format main      '$remote_addr - $remote_user [$time_local]  '
    '"$request" $status $bytes_sent '
    '"$http_referer" "$http_user_agent" '
    '"$gzip_ratio"';

  log_format download  '$remote_addr - $remote_user [$time_local]  '
    '"$request" $status $bytes_sent '
    '"$http_referer" "$http_user_agent" '
    '"$http_range" "$sent_http_content_range"';

  upstream targetCluster {
    172.18.0.3:80;
    172.18.0.4:80;
  }

  server {
    listen        8080;
    server_name   one.example.com  www.one.example.com;

    access_log   /var/log/nginx.access_log  main;
    error_log  /var/log/nginx.error_log  info;

    location / {
      proxy_pass         http://targetCluster/;
      proxy_redirect     off;

      proxy_set_header   Host             $host;
      proxy_set_header   X-Real-IP        $remote_addr;
    }
  }
}

ʻEkolu mau mea koʻikoʻi nā hoʻonohonoho NGINX:

  1. Ke hoʻonohonoho nei i ka server NGINX, ka hoʻolālā log a me ka hana Gzip. Ua wehewehe ʻia kēia ma ke ao holoʻokoʻa i nā hihia āpau.
  2. Ka hoʻonohonoho ʻana iā NGINX e ʻae i nā noi i ka mea hoʻokipa one.example.com ma ke awa 8080.
  3. Hoʻonohonoho i ka wahi i manaʻo ʻia, pehea e mālama ai i nā kaʻa no nā ʻāpana like ʻole o ka URL.

ʻAʻole pili nā hoʻonohonoho āpau iā Envoy Proxy, a ʻaʻole pono ʻoe e hoʻonohonoho i kekahi mau hoʻonohonoho. Ua loaʻa iā Envoy Proxy ʻehā ʻano kī, e kākoʻo ana i ka ʻōnaehana kumu i hāʻawi ʻia e NGINX. ʻO ke kumu:

  • Nā mea hoʻolohe: Hoʻoholo lākou pehea e ʻae ai ʻo Envoy Proxy i nā noi komo. Kākoʻo ʻo Envoy Proxy i kēia manawa i nā mea hoʻolohe ma ka TCP. Ke hoʻokumuʻia kahi pilina, e hāʻawiʻia i kahi hui o nā kānana no ka hana.
  • Nā kānana: He ʻāpana lākou o ka hoʻolālā pipeline e hiki ke hoʻoponopono i ka ʻikepili komo a i waho. Aia kēia hana i nā kānana e like me Gzip, ka mea e hoʻopaʻa i ka ʻikepili ma mua o ka hoʻouna ʻana i ka mea kūʻai.
  • Nā Alaula: Hoʻouna lākou i ke kaʻa i ka wahi i makemake ʻia, i wehewehe ʻia he pūʻulu.
  • Huina: Ho'ākāka lākou i ka hopena no nā kaʻa a me nā ʻāpana hoʻonohonoho.

E hoʻohana mākou i kēia mau ʻāpana ʻehā e hana i kahi hoʻonohonoho Envoy Proxy e hoʻohālikelike i kahi hoʻonohonoho NGINX kikoʻī. ʻO ka pahuhopu o Envoy e hana pū me nā API a me ka hoʻonohonoho hoʻoikaika. I kēia hihia, e hoʻohana ka hoʻonohonoho kumu i nā hoʻonohonoho static, paʻakikī paʻakikī mai NGINX.

KaʻAnuʻu 2 - NGINX Configuration

Mahele mua nginx.conf wehewehe i kekahi NGINX internals pono e hoʻonohonoho ʻia.

Nā Pili Hana Hana

Hoʻoholo ka hoʻonohonoho ma lalo nei i ka helu o nā kaʻina hana a me nā pilina. Hōʻike kēia i ka nui o ka NGINX e hoʻokō i ka noi.

worker_processes  2;

events {
  worker_connections   2000;
}

Mālama ʻo Envoy Proxy i nā kahe hana a me nā pilina ma nā ʻano like ʻole.

Hoʻokumu ʻo Envoy i kahi kaula hana no kēlā me kēia lola lako i loko o ka ʻōnaehana. Hoʻokō kēlā me kēia pae paʻahana i kahi loop hanana hoʻopaʻa ʻole nona ke kuleana

  1. Hoʻolohe i kēlā me kēia mea hoʻolohe
  2. E ʻae ana i nā pilina hou
  3. Ke hana ʻana i nā kānana no kahi pilina
  4. E hana i nā hana I/O a pau i ke ola o ka pilina.

Hoʻopili piha ʻia nā hana pili ʻē aʻe a pau ma ka pae hana, me kekahi ʻano hana hoʻouna.

No kēlā me kēia pae hana ma Envoy, aia kahi pūnāwai pili. No laila, hoʻokumu wale nā ​​punawai pili HTTP/2 i hoʻokahi pilina no kēlā me kēia pūʻali o waho i ka manawa, inā ʻehā mau kaula hana, aia ʻehā mau pilina HTTP/2 no kēlā me kēia host waho i kahi kūlana paʻa. Ma ka mālama ʻana i nā mea a pau i loko o ka pae hana hoʻokahi, aneane hiki ke kākau ʻia nā code āpau me ka ʻole o ka pale ʻana, me he mea lā he kaula hoʻokahi. Inā hoʻokaʻawale ʻia nā kaula limahana ma mua o ka mea e pono ai, hiki i kēia ke alakaʻi i ka hoʻomanaʻo ʻana, hana i ka nui o nā pili palaualelo, a hoʻemi i ka nui o nā manawa e hoʻihoʻi ʻia ai nā pilina i ka loko.

No ka 'ike hou aku e kipa Envoy Proxy blog.

Hoʻonohonoho HTTP

ʻO ka poloka hoʻonohonoho NGINX e wehewehe nei i nā hoʻonohonoho HTTP e like me:

  • He aha nā ʻano mime i kākoʻo ʻia
  • Manawa manawa paʻamau
  • Hoʻonohonoho Gzip

Hiki iā ʻoe ke hana i kēia mau ʻano me ka hoʻohana ʻana i nā kānana ma Envoy Proxy, a mākou e kūkākūkā ai ma hope.

KaʻAnuʻu 3 - Hoʻonohonoho kikowaena

Ma ka poloka hoʻonohonoho HTTP, kuhikuhi ka hoʻonohonoho NGINX e hoʻolohe ma ke awa 8080 a pane i nā noi komo no nā kāʻei kua. one.example.com и www.one.example.com.

 server {
    listen        8080;
    server_name   one.example.com  www.one.example.com;

I loko o Envoy, ua hoʻomaluʻia e nā Listeners.

ʻElele hoʻolohe

ʻO ka mea nui loa o ka hoʻomaka ʻana me Envoy Proxy ʻo ka wehewehe ʻana i kāu poʻe hoʻolohe. Pono ʻoe e hana i kahi faila hoʻonohonoho e wehewehe ana i ke ʻano āu e makemake ai e holo i ka Envoy instance.

Na ka snippet ma lalo nei e hana i kahi mea hoʻolohe hou a hoʻopaʻa iā ia i ke awa 8080. Hōʻike ka hoʻonohonoho iā Envoy Proxy i nā awa e pono ai ke hoʻopaʻa ʻia no nā noi komo.

Hoʻohana ʻo Envoy Proxy i ka YAML notation no kāna hoʻonohonoho. No ka hoʻolauna ʻana i kēia notation, e nānā maanei loulou.

Copy to Editorstatic_resources:
  listeners:
  - name: listener_0
    address:
      socket_address: { address: 0.0.0.0, port_value: 8080 }

ʻAʻole pono e wehewehe server_name, ʻoiai nā kānana Envoy Proxy e mālama i kēia.

KaʻAnuʻu 4 - Hoʻonohonoho wahi

Ke hele mai kahi noi i NGINX, hoʻoholo ka poloka wahi i ka hana a me kahi e hele ai i ke kaʻa. Ma ka ʻāpana aʻe, hoʻoili ʻia nā kaʻa a pau i ka pūnaewele i kahi upstream (ka unuhi ʻōlelo: ʻo ka upstream ka mea maʻamau he kikowaena noi) hui i kapa ʻia. targetCluster. ʻO ka puʻupuʻu upstream ka wehewehe ʻana i nā nodes pono e hoʻokō i ka noi. E kūkākūkā mākou i kēia ma ka pae aʻe.

location / {
    proxy_pass         http://targetCluster/;
    proxy_redirect     off;

    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
}

Ma Envoy, hana nā kānana i kēia.

Nā kānana ʻelele

No ka hoʻonohonoho paʻa, hoʻoholo nā kānana i ka hana ʻana i nā noi e hiki mai ana. I kēia hihia, hoʻonoho mākou i nā kānana i kūpono server_name i ka hana mua. Ke hōʻea mai nā noi e pili ana i kekahi mau kāʻei kapu a me nā alahele, hele ʻia ke kaʻa i ka hui. ʻO kēia ka mea like me kahi hoʻonohonoho NGINX i lalo.

Copy to Editor    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        config:
          codec_type: auto
          stat_prefix: ingress_http
          route_config:
            name: local_route
            virtual_hosts:
            - name: backend
              domains:
                - "one.example.com"
                - "www.one.example.com"
              routes:
              - match:
                  prefix: "/"
                route:
                  cluster: targetCluster
          http_filters:
          - name: envoy.router

inoa ʻelele.http_connection_manager he kānana i kūkulu ʻia ma Envoy Proxy. Loaʻa nā kānana ʻē aʻe Ho'ōla, Mongo, TCP. Hiki iā ʻoe ke loaʻa ka papa inoa piha ma palapala.

No ka ʻike hou aku e pili ana i nā kulekele hoʻoili ukana ʻē aʻe, e kipa Palapala Elele.

KaʻAnuʻu Hana 5 - Proxy a me Upstream Configuration

Ma NGINX, ho'ākāka ka hoʻonohonoho ʻana i luna i kahi hoʻonohonoho o nā kikowaena kikoʻī e hoʻoponopono i nā kaʻa. I kēia hihia, ua hoʻokaʻawale ʻia nā hui ʻelua.

  upstream targetCluster {
    172.18.0.3:80;
    172.18.0.4:80;
  }

Ma Envoy, mālama ʻia kēia e nā pūʻulu.

Hui Elele

Ua wehewehe ʻia ka mea like i luna ma ke ʻano he pūʻulu. I kēia hihia, ua ʻike ʻia nā mea hoʻokipa e lawelawe i ke kaʻa. ʻO ke ala e hiki ai i nā pūʻali koa, e like me ka manawa hoʻopau, ua wehewehe ʻia he hoʻonohonoho cluster. Hāʻawi kēia i ka mana ʻoi aku ka nui ma luna o nā ʻano e like me ka latency a me ka load balancing.

Copy to Editor  clusters:
  - name: targetCluster
    connect_timeout: 0.25s
    type: STRICT_DNS
    dns_lookup_family: V4_ONLY
    lb_policy: ROUND_ROBIN
    hosts: [
      { socket_address: { address: 172.18.0.3, port_value: 80 }},
      { socket_address: { address: 172.18.0.4, port_value: 80 }}
    ]

Ke hoʻohana nei i ka ʻike lawelawe STRICT_DNS E hoʻomau a hoʻoholo ʻo Envoy i nā pahuhopu DNS i kuhikuhi ʻia. ʻO kēlā me kēia helu IP i hoʻihoʻi ʻia mai ka hopena DNS e manaʻo ʻia he pūʻali kikoʻī ma ka puʻupuʻu upstream. ʻO ia ke ʻano inā hoʻihoʻi mai kahi noi i ʻelua mau IP address, e manaʻo ʻo Envoy aia ʻelua mau pūʻali i loko o ka pūʻulu, a pono e hoʻouka ʻia ʻelua. Inā hoʻoneʻe ʻia kahi mea hoʻokipa mai ka hopena, manaʻo ʻo Envoy ʻaʻole ia e noho hou a e huki i nā kaʻa mai nā loko pili pili.

No ka ʻike hou aku e ʻike ʻO nā palapala koho ʻelele.

KaʻAnuʻu Hana 6 - Log Access a me nā hewa

ʻO ka hoʻonohonoho hope loa ka hoʻopaʻa inoa. Ma kahi o ka pana ʻana i nā lāʻau hewa i ka disk, lawe ʻo Envoy Proxy i kahi ala e pili ana i ke ao. Hoʻopuka ʻia nā moʻolelo noi a pau i stdout и stderr.

Ke hana nā mea hoʻohana i kahi noi, he koho a hoʻopaʻa ʻia nā lāʻau komo. No ka hiki ke komo i nā lāʻau no nā noi HTTP, e hoʻā i ka hoʻonohonoho access_log no ka luna pili HTTP. Hiki ke ala ke ala e like me stdout, a i ʻole he faila ma ka disk, ma muli o kāu mau koi.

ʻO ka hoʻonohonoho ma lalo nei e hoʻohuli i nā moʻolelo komo āpau i stdout (ka moʻolelo a ka unuhi - pono ʻo stdout e hoʻohana i ka ʻelele i loko o ka pahu. E kope i ka snippet i ka ʻāpana hoʻonohonoho no ka luna hoʻohui:

Copy to Clipboardaccess_log:
- name: envoy.file_access_log
  config:
    path: "/dev/stdout"

Pono nā hopena e like me kēia:

      - name: envoy.http_connection_manager
        config:
          codec_type: auto
          stat_prefix: ingress_http
          access_log:
          - name: envoy.file_access_log
            config:
              path: "/dev/stdout"
          route_config:

Ma ka maʻamau, loaʻa iā Envoy kahi string format e pili ana i nā kikoʻī o ka noi HTTP:

[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%" "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%"n

ʻO ka hopena o kēia string format:

[2018-11-23T04:51:00.281Z] "GET / HTTP/1.1" 200 - 0 58 4 1 "-" "curl/7.47.0" "f21ebd42-6770-4aa5-88d4-e56118165a7d" "one.example.com" "172.18.0.4:80"

Hiki ke hoʻopilikino ʻia ka maʻiʻo hoʻopuka ma ka hoʻonohonoho ʻana i ke kahua format. ʻo kahi laʻana:

access_log:
- name: envoy.file_access_log
  config:
    path: "/dev/stdout"
    format: "[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%"n"

Hiki ke hoʻopuka ʻia ka laina log ma ke ʻano JSON ma ka hoʻonohonoho ʻana i ke kahua json_format. ^ E Ha yM. Ma ke ʻano he:

access_log:
- name: envoy.file_access_log
  config:
    path: "/dev/stdout"
    json_format: {"protocol": "%PROTOCOL%", "duration": "%DURATION%", "request_method": "%REQ(:METHOD)%"}

No ka 'ike hou aku e pili ana i ka Envoy Registration Methodology, e kipa

https://www.envoyproxy.io/docs/envoy/latest/configuration/access_log#config-access-log-format-dictionaries

ʻAʻole ʻo ka logging wale ke ala e loaʻa ai ka ʻike i ka hana ʻana me Envoy Proxy. Loaʻa iā ia nā mākaʻikaʻi kiʻekiʻe a me nā mana metric i kūkulu ʻia i loko. Hiki iā ʻoe ke ʻike hou aku ma palapala ʻimi ʻimi aiʻole ma o Palapala hoʻopaʻa moʻolelo.

KaʻAnuʻu 7 - Hoʻomaka

Ua neʻe ʻoe i kāu hoʻonohonoho ʻana mai NGINX i Envoy Proxy. ʻO ka hana hope e hoʻomaka i kahi Envoy Proxy e hoʻāʻo ai.

Holo e like me ka mea hoʻohana

Ma ka piko o ka laina hoʻonohonoho NGINX mea hoʻohana www www; kuhikuhi e holo NGINX ma ke ʻano he mea hoʻohana haʻahaʻa haʻahaʻa e hoʻomaikaʻi i ka palekana.

Lawe ʻo Envoy Proxy i kahi ala e pili ana i ke ao no ka mālama ʻana i ka mea nona kahi kaʻina hana. Ke holo mākou i ka Envoy Proxy ma kahi pahu, hiki iā mākou ke kuhikuhi i kahi mea hoʻohana haʻahaʻa haʻahaʻa.

Ke hoʻomaka nei ʻo Envoy Proxy

E holo ke kauoha ma lalo nei i ka Envoy Proxy ma o kahi pahu Docker ma ka host. Hāʻawi kēia kauoha iā Envoy i ka hiki ke hoʻolohe i nā noi e hiki mai ana ma ke awa 80. Eia naʻe, e like me ka mea i hōʻike ʻia ma ka hoʻonohonoho hoʻolohe, hoʻolohe ʻo Envoy Proxy no ka hele ʻana mai ma ke awa 8080. ʻAe kēia i ke kaʻina hana e holo ma ke ʻano he mea hoʻohana haʻahaʻa.

docker run --name proxy1 -p 80:8080 --user 1000:1000 -v /root/envoy.yaml:/etc/envoy/envoy.yaml envoyproxy/envoy

Hoʻoponopono

Me ka holo ʻana o ka proxy, hiki ke hana a hana ʻia nā hoʻokolohua. Hoʻopuka kēia kauoha cURL i kahi noi me ka poʻomanaʻo host i wehewehe ʻia ma ka hoʻonohonoho koho.

curl -H "Host: one.example.com" localhost -i

ʻO ka noi HTTP e hopena i kahi hewa 503. ʻO kēia no ka mea ʻaʻole e holo ana nā pilina o luna a ʻaʻole i loaʻa. No laila, ʻaʻohe wahi i loaʻa iā Envoy Proxy no ka noi. E hoʻomaka ke kauoha aʻe i kahi ʻano o nā lawelawe HTTP e kūlike i ka hoʻonohonoho i wehewehe ʻia no Envoy.

docker run -d katacoda/docker-http-server; docker run -d katacoda/docker-http-server;

Me nā lawelawe i loaʻa, hiki i ka Envoy ke kūleʻa i ka hele ʻana i ka huakaʻi i kāna huakaʻi.

curl -H "Host: one.example.com" localhost -i

Pono ʻoe e ʻike i kahi pane e hōʻike ana i ka pahu Docker i hana i ka noi. I loko o ka Envoy Proxy logs pono ʻoe e ʻike i kahi puka string access.

Nā poʻomanaʻo pane HTTP hou

E ʻike ʻoe i nā poʻomanaʻo HTTP hou ma nā pane pane o ka noi maoli. Hōʻike ke poʻo i ka manawa i hoʻohana ai ka mea hoʻokipa i luna i ka hoʻoponopono ʻana i ka noi. Hōʻike ʻia i nā milliseconds. Pono kēia inā makemake ka mea kūʻai aku e hoʻoholo i ka manawa lawelawe i hoʻohālikelike ʻia me ka latency pūnaewele.

x-envoy-upstream-service-time: 0
server: envoy

Hoʻopili hope

static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address: { address: 0.0.0.0, port_value: 8080 }
    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        config:
          codec_type: auto
          stat_prefix: ingress_http
          route_config:
            name: local_route
            virtual_hosts:
            - name: backend
              domains:
                - "one.example.com"
                - "www.one.example.com"
              routes:
              - match:
                  prefix: "/"
                route:
                  cluster: targetCluster
          http_filters:
          - name: envoy.router
          clusters:
  - name: targetCluster
    connect_timeout: 0.25s
    type: STRICT_DNS
    dns_lookup_family: V4_ONLY
    lb_policy: ROUND_ROBIN
    hosts: [
      { socket_address: { address: 172.18.0.3, port_value: 80 }},
      { socket_address: { address: 172.18.0.4, port_value: 80 }}
    ]

admin:
  access_log_path: /tmp/admin_access.log
  address:
    socket_address: { address: 0.0.0.0, port_value: 9090 }

Nā ʻike hou mai ka unuhi ʻōlelo

Hiki ke loaʻa nā ʻōlelo kuhikuhi no ka hoʻokomo ʻana iā Envoy Proxy ma ka pūnaewele https://www.getenvoy.io/

Ma ka maʻamau, ʻaʻohe rpm kahi hoʻonohonoho lawelawe systemd.

Hoʻohui i ka config service systemd /etc/systemd/system/envoy.service:

[Unit]
Description=Envoy Proxy
Documentation=https://www.envoyproxy.io/
After=network-online.target
Requires=envoy-auth-server.service
Wants=nginx.service

[Service]
User=root
Restart=on-failure
ExecStart=/usr/bin/envoy --config-path /etc/envoy/config.yaml
[Install]
WantedBy=multi-user.target

Pono ʻoe e hana i kahi papa kuhikuhi /etc/envoy/ a kau i ka config.yaml config ma laila.

Aia kahi kamaʻilio telegram me ka hoʻohana ʻana i ka elele proxy: https://t.me/envoyproxy_ru

ʻAʻole kākoʻo ʻo Envoy Proxy i ka lawelawe ʻana i nā ʻike static. No laila, ʻo wai ka mea hiki ke koho i ka hiʻohiʻona: https://github.com/envoyproxy/envoy/issues/378

Hiki i nā mea hoʻohana i hoʻopaʻa inoa ʻia ke komo i ka noiʻi. Eʻe, e 'oluʻolu.

Ua paipai anei kēia pou iā ʻoe e hoʻokomo a hoʻāʻo i ka proxy ʻelele?

  • ʻo ia

  • aole

75 mea hoʻohana i koho. Ua hōʻole nā ​​mea hoʻohana 18.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka