Kong este un strat API open-source extensibil (cunoscut și ca gateway API sau middleware API). Kong rulează peste orice API RESTful și se extinde cu pluginuri, acestea oferă funcții și servicii suplimentare dincolo de platforma de bază.
Kong a fost inițial construit la Mashape pentru a oferi peste 15.000 de API-uri și microservicii pentru API Marketplace-ul său și pentru a genera miliarde de cereri pe lună pentru peste 200.000 de dezvoltatori. Astăzi, Kong este folosit în implementări critice pentru misiuni atât pentru organizații mici, cât și mari
Cea mai recentă versiune este: 0.14.1
Site oficial:Autentificarea cu hyperlink este vizibilă.
GitHub:Autentificarea cu hyperlink este vizibilă.
Adresa introducerii pluginului Kong:Autentificarea cu hyperlink este vizibilă.
Adresa documentului legat de Kong:Autentificarea cu hyperlink este vizibilă.
Kong areEdițiile Comunitară și Enterprise, diferența dintre cele două:Autentificarea cu hyperlink este vizibilă.
Kong suportă PostgreSQL 9.5+ și Cassandra 3.xx ca depozit de date.
Am instalat PostgreSQL, iar tutorialul este următorul:
Acest articol folosește ediția comunității Kong ca exemplu pentru instalare și implementare
Pachet de descărcare:
Instalare:
Verifică versiunea
sau
Creează un profil:
Dacă configurația ta este înToate valorile sunt comentate, Kong va rula cu setările implicite. La pornire, Kong caută mai multe locații implicite care pot conține fișierul de configurare:
/etc/kong/kong.conf
/etc/kong.conf Directorul șabloanelor kong se află sub /usr/local/share/lua/5.1/kong/templates și conține următoarele trei fișiere
kong_defaults.lua nginx.lua nginx_kong.lua Modifică fișierul de configurare /etc/kong/kong.conf, anulează comentariile și modifică-l în funcție de situația ta reală
Inițializarea bazei de date
Iniţia
Când inițializezi baza de date și pornești Kong, poți specifica fișierul de configurare cu parametrul [-c /path/to/kong.conf].
După ce Kong începe, unul este 8000, celălalt 8001, iar portul 80000 este portul de intrare a cererii, iar utilizatorul trimite cererea către portul 8000 al proiectului Kong, iar Kong-ul o redirecționează către adresa reală de serviciu în fundal conform regulilor configurate. Portul 8001 este portul de management, iar o serie de configurații precum setările plug-in-urilor, adăugări, ștergeri, modificări și echilibrare a încărcării sunt gestionate prin portul 8001.
IP de acces la browser: 8000, returnează următoarele:
{"message":"nicio rută și niciun API găsit cu acele valori"}
Interfața de management administrativ Kong (Dacă rețeaua externă este inaccesibilă, poți modifica configurația legăturii pentru a permite accesul public la rețea)
{"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-transformer":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}},"slogan":"bine ați venit la kong","configuration":{"plugins":["bundled"],"admin_ssl_enabled":true,"lua_ssl_verify_depth":1,"trusted_ips":{},"prefix":"\/usr\/local\/kong","loaded_plugins":{" transformator-răspuns":adevărat,"cerere-terminare":adevărat,"prometeu":adevărat,"ip-restriction":adevărat,"pre-funcție":adevărat,"jwt":adevărat,"cors":adevărat,"statsd":adevărat,"basic-auth": adevărat,"key-auth":true,"ldap-auth":true,"aws-lambda":true,"http-log":true,"response-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," transformer-cerere":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.0","proxy_protocol":false,"port":8000,"http2": false,"listener":"0.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":"UNU", "client_max_body_size":"0","admin_error_log":"logs\/error.log","pg_ssl_verify":fals,"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":"\/etc\/ hosts","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_ directive":[{"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":"23886866-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"}
Parametri globali
Adică, toate comenzile pot fi adăugate cu următorii parametri
--comandă de ajutor
--v Activează modul de detaliu
--vv pentru activarea modului de depanare
Linia de comandă
Cec Kong
Verifică validitatea lui kong.conf
Utilizare: kong check [conf] [conf] (Bifat implicit /etc/kong.conf sau /etc/kong/kong.conf)
Kong pregătește
Pregătește pre-folderele, subfolderele și fișierele lui Kong--- Sincer, nu știu la ce folosește această comandă, oricum nu am folosit-o
Kong Health
Verifică starea de sănătate a nodului Kong
Migrațiile Kong
Gestionează baza de date Kong
Articole de referință:
Document de configurare Kong:https://docs.konghq.com/0.14.x/configuration/ Comanda Kong CLI:https://docs.konghq.com/0.14.x/cli/
|