Kong je razširljiva odprtokodna plast API-ja (znana tudi kot API prehod ali API vmesna programska oprema). Kong deluje na kateremkoli RESTful API-ju in se razširi z vtičniki, ki ponujajo dodatne funkcije in storitve onkraj osnovne platforme.
Kong je bil prvotno zgrajen v podjetju Mashape za zagotavljanje več kot 15.000 API-jev in mikroservisov za API Marketplace ter za generiranje milijard zahtevkov na mesec za več kot 200.000 razvijalcev. Danes se Kong uporablja pri misijsko kritičnih uvedbah tako za male kot velike organizacije
Najnovejša različica je: 0.14.1
Uradna spletna stran:Prijava do hiperpovezave je vidna.
GitHub:Prijava do hiperpovezave je vidna.
Uvodni naslov Kong vtičnika:Prijava do hiperpovezave je vidna.
Naslov dokumenta, povezanega s Kongom:Prijava do hiperpovezave je vidna.
Kong imaSkupnostne in podjetniške izdaje, razlika med obema:Prijava do hiperpovezave je vidna.
Kong podpira PostgreSQL 9.5+ in Cassandra 3.xx kot svojo podatkovno shrambo.
Imam nameščen PostgreSQL, vodič pa je naslednji:
Ta članek uporablja Kong Community Edition kot primer za namestitev in nameščanje
Paket za prenos:
Namestitev:
Preveri različico
ali
Ustvarite profil:
Če je vaša konfiguracija vVse vrednosti so komentirane, Kong bo deloval z privzetimi nastavitvami. Ob zagonu Kong išče več privzetih lokacij, ki lahko vsebujejo konfiguracijsko datoteko:
/etc/kong/kong.conf
/etc/kong.conf Mapa predlog Kong se nahaja pod /usr/local/share/lua/5.1/kong/templates in vsebuje naslednje tri datoteke
kong_defaults.lua nginx.lua nginx_kong.lua Spremeni konfiguracijsko datoteko /etc/kong/kong.conf, prekliči komentarje in jo prilagodi glede na svojo dejansko situacijo
Inicializirajte bazo podatkov
Sproži
Ko inicializirate bazo podatkov in zaženete kong, lahko določite konfiguracijsko datoteko s parametrom [-c /path/to/kong.conf].
Ko se Kong zažene, je eden 8000, drugi 8001, 80000 port pa je vnos zahteve, uporabnik pa najprej pošlje zahtevo na 8000 port Kong projekta, kong pa jo posreduje na pravi naslov storitve v ozadju glede na konfigurirana pravila. 8001 port je upravljalski port, skozi 8001 port pa se upravlja vrsta konfiguracij, kot so nastavitve vtičnikov, dodajanje API-jev, brisanja, spremembe in uravnoteženje obremenitve.
Dostopni IP brskalnika: 8000, vrne naslednje:
{"message":"ni poti in ni API-ja z omenjenimi vrednostmi"}
Kongov vmesnik za upravljanje administracije (Če zunanje omrežje ni dostopno, lahko spremenite konfiguracijo vezave, da omogočite dostop do javnega omrežja)
{"plugins":{"enabled_in_cluster":[],"available_on_server":{"response-transformer":true,"oauth2":true,"acl":true,"correlation-id":true,"pre-function":true,"jwt":true," cors":true,"ip-restriction":true,"basic-auth":true,"key-auth":true,"rate-limiting":true,"request-transforming":true,"http-log":true,"file-log":true,"hmac-auth":true, ldap-auth":true,"datadog":true,"tcp-log":true,"zipkin":true,"post-function":true,"request-size-limiting":true,"bot-detection":true,"syslog":true,"loggly":true," Azure-Functions":true,"udp-log":true,"response-ratelimiting":true,"aws-lambda":true,"statsd":true,"prometheus":true,"request-termination":true}},"tagline":"dobrodošli na kong","configuration":{"plugins":["bundled"],"admin_ssl_enabled":true,"lua_ssl_verify_depth":1,"trusted_ips":{},"prefix":"\/usr\/local\/kong","loaded_plugins":{" response-transformer":true,"request-termination":true,"prometheus":true,"ip-restriction":true,"pre-function":true,"jwt":true,"cors":true,"statsd":true,"basic-auth": True,"key-auth":true,"ldap-auth":true,"aws-lambda":true,"http-log":true,"responsive-ratelimiting":true,"hmac-auth":true,"request-size-limiting":true,"datadog":true," tcp-log":true,"zipkin":true,"post-function":true,"bot-detection":true,"acl":true,"loggly":true,"syslog":true,"azure-functions":true,"udp-log":true,"file-log":true, request-transformer":true,"correlation-id":true,"rate-limiting":true,"oauth2":true},"cassandra_username":"kong","admin_ssl_cert_csr_default":"\/usr\/local\/kong\/ssl\/ admin-kong-default.csr","ssl_cert_key":"\/usr\/local\/kong\/ssl\/kong-default.key","admin_ssl_cert_key":"\/usr\/local\/kong\/ssl\/admin-kong-default.key","dns_ Resolver":{},"pg_user":"Kong","mem_cache_size":"128m","cassandra_data_centers":["DC1:2","DC2:3"],"nginx_admin_directives":{},"custom_plugins":{},"pg_host":"127.0.0.1" ,"nginx_acc_logs":"\/usr\/local\/kong\/logs\/access.log","proxy_listen":["0.0.0.0:8000","0.0.0.0:8443 SSL"],"client_ssl_cert_default":"\/usr\/local\/kong\/ssl\/ kong-default.crt","ssl_cert_key_default":"\/usr\/local\/kong\/ssl\/kong-default.key","dns_no_sync":false,"db_update_propagation":0,"nginx_err_logs":"\/usr\/local\/ kong\/logs\/error.log","cassandra_port":9042,"dns_order":["LAST","SRV","A","CNAME"],"dns_error_ttl":1,"Headers":["server_tokens","latency_tokens"],"dns_stale_ttl":4," nginx_optimizations":true,"database":"postgres","pg_database":"kong","nginx_worker_processes":"auto","lua_package_cpath":","admin_acc_logs":"\/usr\/local\/kong\/logs\/ admin_access.log","lua_package_path":".\/?. lua;.\/?\/init.lua; ","nginx_pid":"\/usr\/local\/kong\/pids\/nginx.pid","upstream_keepalive":60,"cassandra_contact_points":["127.0.0.1"],"admin_access_log":"logs\/admin_access.log"," client_ssl_cert_csr_default":"\/usr\/local\/kong\/ssl\/kong-default.csr","proxy_listeners":[{"ssl":false,"ip":0.0.0","proxy_protocol":false,"port":8000,"http2": false,"listener":"0.0.0:8000"},{"ssl":true,"ip":"0.0.0.0","proxy_protocol":false,"port":8443,"http2":false,"listener":"0.0.0.0:8443 ssl"}],"proxy_ssl_enabled":true," pg_password":"******","cassandra_ssl":false,"enabled_headers":{"latency_tokens":true,"X-Kong-Proxy-Latency":true,"Via":true,"server_tokens":true,"Server":true," X-Kong-Upstream-Latency":true,"X-Kong-Upstream-Status":false},"ssl_cert_csr_default":"\/usr\/local\/kong\/ssl\/kong-default.csr","client_ssl":false,"db_resurrect_ttl" :30,"error_default_type":"text\/plain","cassandra_consistency":"ONE","client_max_body_size":"0","admin_error_log":"logs\/error.log","pg_ssl_verify":false,"dns_not_ found_ttl":30,"pg_ssl":false,"db_update_frequency":5,"ssl_ciphers":"ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256","cassandra_repl_strategy":"SimpleStrategy","cassandra_repl_factor":1,"log_level":"notice","admin_ssl_cert":"\/usr\/local\/kong\/ssl\/ admin-kong-default.crt","real_ip_header":"X-Real-IP","kong_env":"\/usr\/local\/kong\/.kong_env","cassandra_schema_consensus_timeout":10000,"dns_hostsfile":"\/itd\/ gostitelji","admin_listeners":[{"SSL":False,"IP":"127.0.0.1","proxy_protocol":false,"port":8001,"http2":false,"listener":"127.0.0.1:8001"},{"ssl":true,"ip":"127.0.0.1"," proxy_protocol":false,"port":8444,"http2":false,"listener":"127.0.0.1:8444 ssl"}],"cassandra_timeout":5000,"ssl_cert":"\/usr\/local\/kong\/ssl\/kong-default.crt"," proxy_access_log":"logs\/access.log","admin_ssl_cert_key_default":"\/usr\/local\/kong\/ssl\/admin-kong-default.key","cassandra_ssl_verify":false,"ssl_cipher_suite":" modern","cassandra_lb_policy":"RoundRobin","real_ip_recursive":"off","proxy_error_log":"logs\/error.log","client_ssl_cert_key_default":"\/usr\/local\/kong\/ssl\/ kong-default.key","nginx_daemon":"on","anonymous_reports":true,"db_cache_ttl":0,"nginx_proxy_directives":{},"pg_port":5432,"nginx_kong_conf":"\/usr\/local\/kong\/ nginx-kong.conf","client_body_buffer_size":"8k","lua_socket_pool_size":30,"admin_ssl_cert_default":"\/usr\/local\/kong\/ssl\/admin-kong-default.crt","nginx_http_ direktive":[{"value":"prometheus_metrics 5m","name":"lua_shared_dict"}],"cassandra_keyspace":"kong","ssl_cert_default":"\/usr\/local\/kong\/ssl\/kong-default.crt"," nginx_conf":"\/usr\/local\/kong\/nginx.conf","admin_listen":["127.0.0.1:8001","127.0.0.1:8444 SSL ]},"version":"0.14.1","node_id":"238868666-845c-450b-9e9d-4b74b5267eb9 ","lua_version":"LuaJIT 2.1.0-beta3","prng_seeds":{"pid: 30380":521312001726},"timers":{"pending":5,"running":0},"hostname":"VM_0_9_centos"}
Globalni parametri
To pomeni, da je mogoče vse ukaze sešteti z naslednjimi parametri
--ukaz za pomoč
--v Vklopi način detajlov
--vv za vklop debug načina
Ukazna vrstica
Kong Check
Preverite veljavnost kong.conf
Uporaba: kong check [conf] [conf] (Privzeto preveri /etc/kong.conf ali /etc/kong/kong.conf)
Kong pripravi
Pripravite Kongove pred-mape, podmape in datoteke--- Iskreno, ne vem, za kaj je ta ukaz, saj ga še nisem uporabljal
Kong Health
Preverite zdravje kong vozlišča
Kongove migracije
Upravljanje baze podatkov Kong
Referenčni članki:
Konfiguracijski dokument KONG:https://docs.konghq.com/0.14.x/configuration/ Kong CLI ukaz:https://docs.konghq.com/0.14.x/cli/
|