Το Kong είναι ένα επεκτάσιμο επίπεδο API ανοιχτού κώδικα (γνωστό και ως πύλη API ή ενδιάμεσο λογισμικό API). Το Kong τρέχει πάνω από οποιοδήποτε RESTful API και επεκτείνεται με πρόσθετα, προσφέρουν πρόσθετες δυνατότητες και υπηρεσίες πέρα από την βασική πλατφόρμα.
Το Kong κατασκευάστηκε αρχικά στο Mashape για να παρέχει πάνω από 15,000 API και μικροϋπηρεσίες για το API Marketplace του και να δημιουργεί δισεκατομμύρια αιτήματα το μήνα για περισσότερους από 200,000 προγραμματιστές. Σήμερα, το Kong χρησιμοποιείται σε κρίσιμες αποστολές τόσο για μικρούς όσο και για μεγάλους οργανισμούς
Η τελευταία έκδοση είναι: 0.14.1
Επίσημη ιστοσελίδα:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Το GitHub:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Διεύθυνση εισαγωγής προσθήκης Kong:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Διεύθυνση εγγράφου που σχετίζεται με το Κονγκ:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Ο Κονγκ έχειΕκδόσεις Community και Enterprise, η διαφορά μεταξύ των δύο:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Το Kong υποστηρίζει PostgreSQL 9.5+ και Cassandra 3.xx ως χώρο αποθήκευσης δεδομένων.
Έχω εγκαταστήσει την PostgreSQL και το σεμινάριο έχει ως εξής:
Αυτό το άρθρο χρησιμοποιεί την έκδοση της κοινότητας kong ως παράδειγμα για εγκατάσταση και ανάπτυξη
Λήψη πακέτου:
Εγκατάσταση:
Ελέγξτε την έκδοση
ή
Δημιουργήστε ένα προφίλ:
Εάν η διαμόρφωσή σας είναι σεΌλες οι τιμές σχολιάζονται, το Kong θα εκτελεστεί με τις προεπιλεγμένες ρυθμίσεις. Κατά την εκκίνηση, το Kong αναζητά πολλές προεπιλεγμένες θέσεις που μπορεί να περιέχουν το αρχείο διαμόρφωσης:
/etc/kong/kong.conf
/etc/kong.conf Ο κατάλογος προτύπων kong βρίσκεται στο /usr/local/share/lua/5.1/kong/templates και περιέχει τα ακόλουθα τρία αρχεία
kong_defaults.lua nginx.lua nginx_kong.lua Τροποποιήστε το αρχείο διαμόρφωσης /etc/kong/kong.conf, ακυρώστε τα σχόλια και τροποποιήστε το σύμφωνα με την πραγματική σας κατάσταση
Αρχικοποιήστε τη βάση δεδομένων
κατηχώ
Κατά την προετοιμασία της βάσης δεδομένων και την εκκίνηση του kong, μπορείτε να καθορίσετε το αρχείο διαμόρφωσης με την παράμετρο [-c /path/to/kong.conf].
Μετά την εκκίνηση του Kong, το ένα είναι 8000, το άλλο είναι 8001 και η θύρα 80000 είναι η θύρα εισόδου αιτήματος και ο χρήστης στέλνει πρώτα το αίτημα στη θύρα 8000 του έργου Kong και το kong το προωθεί στην πραγματική διεύθυνση υπηρεσίας παρασκηνίου σύμφωνα με τους διαμορφωμένους κανόνες. Η θύρα 8001 είναι η θύρα διαχείρισης και η διαχείριση μιας σειράς διαμορφώσεων, όπως ρυθμίσεις προσθήκης, προσθήκες API, διαγραφές, τροποποιήσεις και εξισορρόπηση φόρτου γίνεται μέσω της θύρας 8001.
Πρόσβαση στο πρόγραμμα περιήγησης IP: 8000, επιστρέφει τα εξής:
{"message":"δεν βρέθηκε διαδρομή και API με αυτές τις τιμές"}
Διεπαφή διαχείρισης διαχειριστή του Κονγκ (Εάν το εξωτερικό δίκτυο δεν είναι προσβάσιμο, μπορείτε να τροποποιήσετε τη διαμόρφωση σύνδεσης για να επιτρέψετε την πρόσβαση στο δημόσιο δίκτυο)
{"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":"Καλώς ορίσατε στο 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,"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.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":["ΤΕΛΕΥΤΑΊΟ","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":"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":"\/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_ οδηγίες":[{"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"}
Καθολικές παράμετροι
Δηλαδή, όλες οι εντολές μπορούν να προστεθούν με τις ακόλουθες παραμέτρους
--εντολή βοήθειας βοήθειας
--v Ενεργοποιήστε τη λειτουργία λεπτομερειών
--vv για να ενεργοποιήσετε τη λειτουργία εντοπισμού σφαλμάτων
γραμμή εντολών
Έλεγχος Κονγκ
Ελέγξτε την εγκυρότητα του kong.conf
Χρήση: kong check [conf] [conf] (Προεπιλεγμένος έλεγχος /etc/kong.conf ή /etc/kong/kong.conf)
Κονγκ Προετοιμασία
Προετοιμάστε τους προφακέλους και τους υποφακέλους και τα αρχεία του kong--- Για να είμαι ειλικρινής, δεν ξέρω σε τι χρησιμεύει αυτή η εντολή, δεν την έχω χρησιμοποιήσει ούτως ή άλλως
Υγεία του Κονγκ
Ελέγξτε την υγεία του κόμβου kong
Μεταναστεύσεις στο Κονγκ
Διαχείριση της βάσης δεδομένων kong
Άρθρα αναφοράς:
Έγγραφο διαμόρφωσης Kong:https://docs.konghq.com/0.14.x/configuration/ Εντολή Kong CLI:https://docs.konghq.com/0.14.x/cli/
|