Kong è uno strato API open-source estensibile (noto anche come API gateway o middleware API). Kong funziona sopra qualsiasi API RESTful ed è esteso con plugin, che offrono funzionalità e servizi aggiuntivi oltre alla piattaforma principale.
Kong è stato originariamente creato a Mashape per fornire oltre 15.000 API e microservizi per il suo API Marketplace e generare miliardi di richieste al mese per più di 200.000 sviluppatori. Oggi, Kong viene utilizzato in implementazioni mission-critical sia per organizzazioni piccole che grandi
L'ultima versione è: 0.14.1
Sito ufficiale:Il login del link ipertestuale è visibile.
GitHub:Il login del link ipertestuale è visibile.
Indirizzo introduzione del plugin Kong:Il login del link ipertestuale è visibile.
Indirizzo del documento correlato al Kong:Il login del link ipertestuale è visibile.
Kong haEdizioni Community e Enterprise, la differenza tra i due:Il login del link ipertestuale è visibile.
Kong supporta PostgreSQL 9.5+ e Cassandra 3.xx come archivio dati.
Ho installato PostgreSQL, e il tutorial è il seguente:
Questo articolo usa l'edizione community di Kong come esempio per installare e distribuire
Scarica il pacchetto:
Installazione:
Controlla la versione
o
Crea un profilo:
Se la tua configurazione è inTutti i valori sono commentati, Kong girerà con le impostazioni predefinite. All'avvio, Kong cerca diverse posizioni predefinite che potrebbero contenere il file di configurazione:
/etc/kong/kong.conf
/etc/kong.conf La directory dei template kong si trova sotto /usr/local/share/lua/5.1/kong/templates e contiene i seguenti tre file
kong_defaults.lua nginx.lua nginx_kong.lua Modifica il file di configurazione /etc/kong/kong.conf, annulla i commenti e modificalo in base alla tua situazione reale
Inizializzare il database
iniziare
Quando inizializzi il database e avvii kong, puoi specificare il file di configurazione con il parametro [-c /path/to/kong.conf].
Dopo l'avvio di Kong, uno è 8000, l'altro 8001, e la porta 80000 è la porta di ingresso della richiesta, e l'utente invia prima la richiesta alla porta 8000 del progetto Kong, e il Kong la inoltra all'indirizzo reale del servizio in background secondo le regole configurate. La porta 8001 è la porta di gestione, e una serie di configurazioni come impostazioni plug-in, aggiunte, cancellazioni, modifiche e bilanciamento del carico sono gestite tramite la porta 8001.
IP di accesso al browser: 8000, restituisce quanto segue:
{"message":"nessuna route e nessuna API trovata con quei valori"}
Interfaccia di gestione amministrativa Kong (Se la rete esterna è inaccessibile, puoi modificare la configurazione di binding per consentire l'accesso pubblico alla rete)
{"plugin":{"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":"Benvenuti su kong","configuration":{"plugins":["bundled"],"admin_ssl_enabled":true,"lua_ssl_verify_depth":1,"trusted_ips":{},"prefisso":"\/usr\/local\/kong","loaded_plugins":{" Trasformatore di risposta":vero,"richiesta-terminazione":vero,"prometeo":vero,"ip-restriction":vero,"pre-funzione":vero,"jwt":vero,"cors":vero,"statsd":vero,"basic-auth": vero,"key-auth":vero,"ldap-auth":vero,"aws-lambda":vero,"http-log":true,"response-ratelimiting":true,"hmac-auth":true,"request-size-limiting":true,"datadog":true," TCP-log":Vero,"Zipkin":Vero,"Post-Funzione":Vero,"Bot-Detection":Vero,"ACL":Vero,"Loggly":Vero,"Syslog":Vero,"Azure-Functions":Vero,"udp-log":Vero,"Registro-file":Vero," 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_ risolutore":{},"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"":falso,"enabled_headers":{"latency_tokens":vero,"X-Kong-Proxy Latency":vero,"Via":vero,"server_tokens":vero,"Server":vero," 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":"testo\/plain","cassandra_consistency":"UNO", "client_max_body_size":"0","admin_error_log":"logs\/error.log","pg_ssl_verify":falso,"dns_not_ found_ttl":30,"pg_ssl":falso,"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":" moderno","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_ direttive":[{"valore":"prometheus_metrics 5m","nome":"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":{"pendente":5,"running":0},"hostname":"VM_0_9_centos"}
Parametri globali
Cioè, tutti i comandi possono essere aggiunti con i seguenti parametri
--aiuto aiuto comando
--v Attiva modalità dettaglio
--vv per attivare la modalità debug
Riga di comando
Controllo Kong
Controlla la validità di kong.conf
Utilizzo: kong check [conf] [conf] (Controllo predefinito /etc/kong.conf o /etc/kong/kong.conf)
Kong prepara
Preprepara le pre-cartelle, sottocartelle e file di Kong--- Ad essere onesto, non so a cosa serva questo comando, non l'ho mai usato comunque
Kong Health
Controlla la salute del nodo Kong
Migrazioni Kong
Gestire il database Kong
Articoli di riferimento:
Documento di configurazione Kong:https://docs.konghq.com/0.14.x/configuration/ Comando Kong CLI:https://docs.konghq.com/0.14.x/cli/
|