Kong er et udvideligt open source API-lag (også kendt som API-gateway eller API-middleware). Kong kører oven på ethvert RESTful API og udvider med plugins; de tilbyder yderligere funktioner og tjenester ud over selve kernen.
Kong blev oprindeligt bygget hos Mashape for at levere over 15.000 API'er og mikrotjenester til sin API Marketplace og generere milliarder af forespørgsler om måneden til mere end 200.000 udviklere. I dag bruges Kong i missionkritiske udsendelser for både små og store organisationer
Den nyeste version er: 0.14.1
Officiel hjemmeside:Hyperlink-login er synlig.
GitHub:Hyperlink-login er synlig.
Kong plugin introduktionsadresse:Hyperlink-login er synlig.
Kong-relateret dokumentadresse:Hyperlink-login er synlig.
Kong harFællesskabs- og Enterprise-udgaver, forskellen mellem de to:Hyperlink-login er synlig.
Kong understøtter PostgreSQL 9.5+ og Cassandra 3.xx som sin datalager.
Jeg har PostgreSQL installeret, og vejledningen er som følger:
Denne artikel bruger Kong Community Edition som eksempel til installation og implementering
Downloadpakke:
Installation:
Tjek versionen
eller
Opret en profil:
Hvis din konfiguration er iAlle værdier kommenteres ud, Kong vil køre med standardindstillingerne. Ved opstart leder Kong efter flere standardplaceringer, der kan indeholde konfigurationsfilen:
/etc/kong/kong.conf
/etc/kong.conf Kong-skabelonmappen findes under /usr/local/share/lua/5.1/kong/templates og indeholder følgende tre filer
kong_defaults.lua nginx.lua nginx_kong.lua Ændr konfigurationsfilen /etc/kong/kong.conf, annuller kommentarerne, og tilpas den efter din faktiske situation
Initialiser databasen
initiere
Når du initialiserer databasen og starter Kong, kan du specificere konfigurationsfilen med parameteren [-c /path/to/kong.conf].
Efter Kong starter, er den ene 8000, den anden 8001, og 80000-porten er anmodningsporten, og brugeren sender anmodningen til 8000-porten i Kong-projektet først, og Kong videresender den til den rigtige baggrundsserviceadresse i henhold til de konfigurerede regler. 8001-porten er administrationsporten, og en række konfigurationer såsom plug-in-indstillinger, API-tilføjelser, sletninger, modifikationer og load balancing administreres gennem 8001-porten.
Browseradgangs-IP: 8000, returnerer følgende:
{"message":"ingen rute og intet API fundet med de værdier"}
Kong admin administrationsgrænseflade (Hvis det eksterne netværk er utilgængeligt, kan du ændre bindingskonfigurationen, så offentlig netværksadgang kan gives)
{"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}},"tagline":"velkommen til kong","konfiguration":{"plugins":["bundled"],"admin_ssl_enabled":true,"lua_ssl_verify_depth":1,"trusted_ips":{},"præfiks":"\/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,"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," 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: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":falsk,"ip":"0.0.0","proxy_protocol":falsk,"port":8000,"http2": falsk,"lytter":"0.0.0:8000"},{"ssl":sand,"ip":"0.0.0","proxy_protocol":falsk,"port":8443,"http2":falsk,"lytter":"0.0.0:8443 SSL"}],"proxy_ssl_enabled":sand," pg_password":"******","cassandra_ssl":falsk,"enabled_headers":{"latency_tokens":sand,"X-Kong-Proxy-Latency":sand,"Via":sand,"server_tokens":sandt,"Server":sandt," X-Kong-Upstream-Latency":true,"X-Kong-Upstream-Status":falsk},"ssl_cert_csr_default":"\/usr\/local\/kong\/ssl\/kong-default.csr","client_ssl":falsk,"db_resurrect_ttl" :30,"error_default_type":"tekst\/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":falsk,"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":"\/osv\/ værter","admin_listeners":[{"ssl":falsk,"ip":"127.0.0.1","proxy_protocol":falsk,"port":8001,"http2":falsk,"lytter":"127.0.0.1:8001"},{"ssl":sand,"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_ direktiver":[{"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"}
Globale parametre
Det vil sige, at alle kommandoer kan tilføjes med følgende parametre
--hjælp hjælp kommando
--v Tænd for detaljetilstand
--vv for at aktivere debug-tilstand
Kommandolinje
Kong-check
Tjek gyldigheden af kong.conf
Brug: kong check [conf] [conf] (Standardtjek /etc/kong.conf eller /etc/kong/kong.conf)
Kong, gør klar
Forbered kongs pre-mapper, undermapper og filer--- For at være ærlig ved jeg ikke, hvad denne kommando er til, jeg har alligevel ikke brugt den
Kong Health
Tjek tilstanden af kong-noden
Kong-migrationer
Administrer kong-databasen
Referenceartikler:
Kong-konfigurationsdokument:https://docs.konghq.com/0.14.x/configuration/ Kong CLI kommando:https://docs.konghq.com/0.14.x/cli/
|