php実戦kongマイクロサービスアーキテクチャ2(kong構成要約翻訳--随時閲覧)
104266 ワード
prefix
。 Nginx , 。
Kong 。
: /usr/local/kong/
log_level
Nginx 。 <prefix>/logs/error.log。
ebug, info, notice, warn, error, crit, alert, emerg
: notice
proxy_access_log
。 off 。
, prefix 。
: logs/access.log
proxy_error_log
。 log_level 。
: logs/error.log
admin_access_log
Admin API 。 , , “ kong_cluster_listener” 。
off Admin API 。
, prefix 。
: logs/admin_access.log
admin_error_log
Admin API 。 log_level 。
: logs/error.log
status_access_log
Status API 。 off API loggin。
, prefix 。
: off
status_error_log
Status API 。 log_level 。
: logs/status_error.log
plugins
。 , bundled 。
, Kong , Admin API 。
Lua , kong.plugins.{
name}.*。
off , 。
bundled , :
plugins = bundled,custom-auth,custom-log
plugins = custom-auth,custom-log custom-auth custom-log 。
plugins = off
: ( ), 。 , Kong 。
: LRU ( , configuremem_cache_size ) P99 。
: bundled
pluginserver_names
。 。
:
pluginserver_XXX_socket
unix 。
: <prefix>/<XXX>.socket
pluginserver_XXX_start_cmd
( )
: /usr/local/bin/<XXX>
pluginserver_XXX_query_cmd
“ ” 。 JSON
: /usr/local/bin/query_<XXX>
port_maps
, Kong 。 Kong , 。
,port_maps=80:8000, 443:8443 Kong 80 8000( 443 8443), 8000 8443 Kong 。
Kong HTTP , Kong PDK ( )。 , Kong , , , Kong 。
:
anonymous_reports
( ) Kong。
: on
role
。 Kong , Data Plane DB 。
:
traditional: 。
control_plane: 。 , 。
data_plane: 。 , 。
: traditional
cluster_mtls
。
:
shared: cluster_cert cluster_cert_key / 。 ,CP DP mTLS 。
pki: cluster_ca_cert,cluster_server_name cluster_cert 。 DP , CA :cluster_ca_cert。
: shared
cluster_cert
。
kong hybrid / 。
shared , 。 pki , DP 。
:
cluster_cert_key
。
kong hybrid / 。
shared , 。 pki , DP 。
:
cluster_ca_cert
PEM CA , cluster_cert。
cluster_mtls pki, , 。
:
cluster_server_name
DP CP TLS SNI 。
CP (CN) (SAN) 。
cluster_mtls shared, kong_clustering 。
:
cluster_control_plane
:host:port 。
:
cluster_telemetry_endpoint
: host:port 。
:
cluster_listen
。
。 mTLS , 。
role , control_plane。
Admin API 。
admin_access_log , 。
: 0.0.0.0:8005
cluster_telemetry_listen
。
。
role , control_plane。
: 0.0.0.0:8006
cluster_data_plane_purge_delay
/ clustering / data-planes Admin API , DP 。
。 14 。 , CP 14 DP , 。
: 1209600
NGINX
proxy_listen
HTTP / HTTPS 。
Kong , 。 IPv4,IPv6 。
:
ssl / TLS。
http2 Kong HTTP / 2 。
proxy_protocol / PROXY 。
deferred Linux (TCP_DEFER_ACCEPT )。
bind address:port bind() 。
reuseport ,
backlog=N TCP 。 , “ ” Kong 。 : Linux , net.core.somaxconn 。 backlog , net.core.somaxconn backlog 。
off, HTTP / HTTPS 。
stream_listen off, “ ” ( , )。 , Kong 。
: proxy_listen = 0.0.0.0:443 ssl, 0.0.0.0:444 http2 ssl
*_listen , http://nginx.org/en/docs/http/ngx_http_core_module.html#listen 。
proxy_protocol , https://www.nginx.com/resources/admin-guide/proxy-protocol/ 。
*_listen nginx 。
: 0.0.0.0:8000 reuseport backlog=16384, 0.0.0.0:8443 http2 ssl reuseport backlog=16384
proxy_url
Kong Proxy 。
。
( ):
<scheme>://<IP / HOSTNAME>(:<PORT>(/<PATH>))
:
<scheme>://<IP>:<PORT> -> proxy_url = http://127.0.0.1:8000
SSL <scheme>://<HOSTNAME> -> proxy_url = https://proxy.domain.tld
<scheme>://<HOSTNAME>/<PATH> -> proxy_url = http://dev-machine/dev-285
,Kong Manager Kong Portal , 。
:
stream_listen
。
IPv4,IPv6 。
:
ssl / TLS。
proxy_protocol / PROXY 。
bind address:port bind() 。
reuseport ,
backlog=N TCP 。 , “ ” Kong 。 : Linux , net.core.somaxconn 。 backlog , net.core.somaxconn backlog 。
: ssl , / TCP TLS。
:
stream_listen = 127.0.0.1:7000 reuseport backlog=16384
stream_listen = 0.0.0.0:989 reuseport backlog=65536, 0.0.0.0:20
stream_listen = [::1]:1234 backlog=16384
, off, 。
Kong stream_listen , http://nginx.org/en/docs/stream/ngx_stream_core_module.html#listen。
: off
admin_api_uri
URI , Admin API HTTP HTTPS , 。 ,Kong Manager + admin_listen HTTP / HTTPS 。
:
admin_listen
。
API, Kong。
。 IPv4,IPv6 。
:
ssl / TLS。
http2 Kong HTTP / 2 。
proxy_protocol / PROXY 。
deferred Linux (TCP_DEFER_ACCEPT )。
bind address:port bind() 。
reuseport ,
backlog=N TCP 。 , “ ” Kong 。 : Linux , net.core.somaxconn 。 backlog , net.core.somaxconn backlog 。
off, Admin , “ ” ( ) 。
: admin_listen = 127.0.0.1:8444 http2 ssl
: 127.0.0.1:8001 reuseport backlog=16384, 127.0.0.1:8444 http2 ssl reuseport backlog=16384
status_listen
API 。
Status API , Kong , 。
:
ssl / TLS。
off, API。
: status_listen = 0.0.0.0:8100
: off
nginx_user
。 , 。
: nginx_user = nginx www
: kong kong , nobody nobody。
: kong kong
nginx_worker_processes
Nginx 。
Nginx , http://nginx.org/en/docs/ngx_core_module.html#worker_processes。
: auto
nginx_daemon
Nginx 。 Docker Kong 。
http://nginx.org/en/docs/ngx_core_module.html#daemon。
: on
mem_cache_size
。 k m, MB。
: , Kong 。
: 128m
ssl_cipher_suite
Nginx TLS 。
modern,intermediate,old, custom。
, https://wiki.mozilla.org/Security/Server_Side_TLS。
: intermediate
ssl_ciphers
Nginx TLS 。 openssl ciphers。
ssl_cipher_suite , custom。
:
ssl_protocols
。 OpenSSL Kong 。 ssl_cipher_suite , custom。
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols
: TLSv1.1 TLSv1.2 TLSv1.3
ssl_prefer_server_ciphers
SSLv3 TLS , 。 ssl_cipher_suite , custom。
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_prefer_server_ciphers
: on
ssl_dhparam
DH DHE :ffdhe2048, ffdhe3072,ffdhe4096,ffdhe6144,ffdhe8192, 。
ssl_cipher_suite modern , intermediate。 modern intermediate ffdhe2048。
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam
:
ssl_session_tickets
TLS 。 TLSv1.3 , 。
,Kong , :https://github.com/mozilla/server-side-tls/issues/135
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_tickets
: on
ssl_session_timeout
。 :https://github.com/mozilla/server-side-tls/issues/198
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_timeout
: 1d
ssl_cert
proxy_listen SSL SSL 。
:
ssl_cert_key
proxy_listen SSL SSL 。
:
client_ssl
Nginx SSL 。
: off
client_ssl_cert
client_ssl , proxy_ssl_certificate SSL 。 , , API 。
:
client_ssl_cert_key
client_ssl , proxy_ssl_certificate_key SSL 。 , , API 。
:
admin_ssl_cert
admin_listen SSL SSL 。
:
admin_ssl_cert_key
admin_listen SSL SSL 。
:
status_ssl_cert
status_listen SSL SSL 。
:
status_ssl_cert_key
status_listen SSL SSL 。
:
headers
。
:
Server: Server: kong/x.y.zKong ( Admin API, auth )。
Via:Via: kong/x.y.z 。
X-Kong-Proxy-Latency:Kong ( )。
X-Kong-Response-Latency: ,Kong ( )。
X-Kong-Upstream-Latency: ( )。
X-Kong-Admin-Latency:Kong Admin API ( )。
X-Kong-Upstream-Status: HTTP 。 , 。
server_tokens: Server Via。
latency_tokens: X-Kong-Proxy-Latency, X-Kong-Response-Latency,X-Kong-Admin-Latency X-Kong-Upstream-Latency
, off, Kong 。 , 。
: headers = via, latency_tokens
: server_tokens, latency_tokens
Trusted_ips
X-Forwarded-* IP 。
IP Kong X-Forwarded-* 。
Kong X-Forwarded-* 。
set_real_ip_from Nginx 。 (CIDR ), 。
/!\ IP, 0.0.0.0/0,::/0。
unix: , UNIX 。
, http://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from。
:
real_ip_header
, 。
ngx_http_realip_module Nginx 。
proxy_protocol:
proxy_listen proxy_protocol 。
proxy_protocol listenNginx 。
, http://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header。
: X-Real-IP
real_ip_recursive
ngx_http_realip_module Nginx 。
, http://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_recursive。
: off
error_default_type
Accept Nginx MIME 。
text/plain,text/html,application/json, application/xml。
: text/plain
Upstream_keepalive_pool_size
Keepalive 。
keepalive dst ip/dst port/SNI 。
0 , 。
: 60
Upstream_keepalive_max_requests
, keepalive 。
, 。
0 , keepalive 。
: 100
Upstream_keepalive_idle_timeout
( ), 。 , 。
0 , keepalive 。
: 60
NGINX
Nginx nginx.conf , Nginx 。
nginx_<namespace>_<directive> <directive> Nginx <namespace>。
: nginx_proxy_large_client_header_buffers = 8 24k
Kong server {
} :
large_client_header_buffers 8 24k;
:
nginx_main_<directive>: <directive>Kong main 。
nginx_events_<directive>: <directive> events {
} 。
nginx_http_<directive>: <directive> http {
} 。
nginx_proxy_<directive>: <directive>Kong server {
} 。
nginx_upstream_<directive>: <directive>Kong upstream {
} 。
nginx_admin_<directive>: <directive>Kong Admin APIserver {
} 。
nginx_status_<directive>: <directive>Kong Status API server {
} ( status_listen )。
nginx_stream_<directive>: <directive>Kong stream {
} ( stream_listen )。
nginx_sproxy_<directive>: <directive>Kong server {
} ( stream_listen )。
nginx_supstream_<directive>: <directive>Kong upstream {
} 。
,Nginx KONG_。
:KONG_NGINX_HTTP_SSL_PROTOCOLS->nginx_http_ssl_protocols
Kong http {
} :
ssl_protocols <value>;
Admin API , nginx_proxy_ssl_protocols / nginx_admin_ssl_protocols, http {
} 。
nginx_main_worker_rlimit_nofile
。
auto ulimit -n, 16384, 。
http://nginx.org/en/docs/ngx_core_module.html#worker_rlimit_nofile
: auto
nginx_events_worker_connections
。
auto ulimit -n, 16384, 。
http://nginx.org/en/docs/ngx_core_module.html#worker_connections
: auto
nginx_http_client_header_buffer_size
。
http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size
: 1k
nginx_http_large_client_header_buffers
。
http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers
: 4 8k
nginx_http_client_max_body_size
, Kong 。 , Kong 413( ) 。 0 。
http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
: 0
nginx_admin_client_max_body_size
Admin API 。
: 10m
nginx_http_client_body_buffer_size
。 , 。 , , Kong , ( , client_max_body_size ) )。 , 。
http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size
: 8k
nginx_admin_client_body_buffer_size
Admin API 。
: 10m
Kong , Kong , , 。
,Kong Cassandra PostgreSQL ( Routes,Services,Consumer Plugins) , Kong 。
Kong :
PostgreSQL:9.5 。
Cassandra:2.2 。
,Kong “ ”: , , declarative_config , /config Admin API 。
Postgres , Kong 。
, Postgres 。 Kong Postgres , 。
Postgres , 。 , Postgres 。
pg_ro_host 。
, , pg_ro_* 。
database
PostgreSQL Cassandra 。
postgres,cassandra off。
: postgres
Postgres settings
pg_host Postgres 。 127.0.0.1
pg_port Postgres 。 5432
pg_timeout , ( )。 5000
pg_user Postgres 。 kong
pg_password Postgres 。
pg_database 。 kong
pg_schema 。 , Kong search_path PostgreSQL 。
pg_ssl Kong PostgreSQL - TLS 。 PostgreSQL TLS TLS , 。 TLS, 。 off
pg_ssl_version Kong PostgreSQL ssl , tls 。 tlsv1 tlsv1_2 tlsv1
pg_ssl_required pg_ssl TLS PostgreSQL 。 SSL , 。 off
pg_ssl_verify ( pg_ssl )。 lua_ssl_trusted_certificate 。 off
pg_ssl_cert PostgreSQL PEM TLS 。 , PostgreSQL TLS 。
pg_ssl_cert_key pg_ssl_cert , PostgreSQL PEM TLS 。
pg_max_concurrent_queries 。 ; pg_max_concurrent_queries * nginx_worker_processes。 0 。 0
pg_semaphore_timeout ( ), PostgreSQL 。 Admin API , HTTP 500 。 。 60000
pg_keepalive_timeout PostreSQL ( )。 60000
pg_ro_host pg_host, 。 : , 。
pg_ro_port pg_port, 。 <pg_port>
pg_ro_timeout pg_timeout, 。 <pg_timeout>
pg_ro_user pg_user, 。 <pg_user>
pg_ro_password pg_password, 。 <pg_password>
pg_ro_database pg_database, 。 <pg_database>
pg_ro_schema pg_schema, 。 <pg_schema>
pg_ro_ssl pg_ssl, 。 <pg_ssl>
pg_ro_ssl_required pg_ssl_required, 。 <pg_ssl_required>
pg_ro_ssl_verify pg_ssl_verify, 。 <pg_ssl_verify>
pg_ro_ssl_version pg_ssl_version, 。 <pg_ssl_version>
pg_ro_max_concurrent_queries pg_max_concurrent_queries, 。 : ( ) 。 <pg_max_concurrent_queries>
pg_ro_semaphore_timeout pg_semaphore_timeout, 。 <pg_semaphore_timeout>
pg_ro_keepalive_timeout pg_keepalive_timeout, 。 <pg_keepalive_timeout>
Cassandra settings
cassandra_contact_points 。 IP 。 ,SRV , cassandra_port。 DC , 。 127.0.0.1
cassandra_port 。 。 , 。 9042
cassandra_keyspace 。 kong
cassandra_write_consistency Cassandra 。 ONE
cassandra_read_consistency Cassandra 。 ONE
cassandra_timeout ( )。 5000
cassandra_ssl Kong Cassandra TLS 。 off
cassandra_ssl_verify ( cassandra_ssl )。 lua_ssl_trusted_certificate 。 off
cassandra_username PasswordAuthenticator 。 kong
cassandra_password PasswordAuthenticator 。
cassandra_lb_policy Cassandra 。 :RoundRobin,RequestRoundRobin,DCAwareRoundRobin, RequestDCAwareRoundRobin。 “ ” 。 , “ DCAware” 。 RequestRoundRobin
cassandra_local_datacenter DCAwareRoundRobinor RequestDCAwareRoundRobin , Kong ( ) 。
cassandra_refresh_frequency ( )。 0 , 。 60
cassandra_repl_strategy ,Kong 。 SimpleStrategy NetworkTopologyStrategy。 SimpleStrategy
cassandra_repl_factor ,Kong SimpleStrategy。 1
cassandra_data_centers , NetworkTopologyStrategy。 <dc_name>:<repl_factor>。 dc1:2,dc2:3
cassandra_schema_consensus_timeout ( ), Cassandra 。 。 10000
( , , ) database off。
Kong , mem_cache_size 。 , db_cache_ttl 0。
:
declarative_config
,Kong ( API,Consumer,Credentials )。 , 。
Kong 。
db_update_frequency
( )。
Admin API , , ( ) 。
: 5
db_update_propagation
( )。
( Cassandra ) , Cassandra 。
, Kong 。
PostgreSQL , 0。
: 0
db_cache_ttl
( )。
, ( )db_cache_neg_ttl。
0( ), 。
: 0
db_cache_neg_ttl
( ) ( )。
( ),db_cache_ttl value。
0, 。
:
db_resurrect_ttl
( )( , )。 TTL , 。
: 30
db_cache_warmup_entities
Kong 。
。
services , host DNS 。
mem_cache_size 。
,Kong 。
: services
DNS
,DNS /etc/hosts /etc/resolv.conf。 LOCALDOMAIN RES_OPTIONS 。
Kong SRV A (CNAME , )。
SRV , port DNS 。
DNS SEARCH NDOTS( /etc/resolv.conf ) 。 , SEARCH SRV , , SEARCH A, 。
ttl, DNS DNS 。 SRV , weight , priority 。
dns_resolver
, ip[:port] Kong 。 ,resolv.conf 。
, 53。 IPv4 IPv6 。
:
dns_hostsfile
。 , 。
, Kong。
: /etc/hosts
dns_order
。 LAST ( )。 ( ) 。
: LAST,SRV,A,CNAME
dns_valid_ttl
,DNS TTL 。 ( ), TTL。
:
dns_stale_ttl
, TTL 。 DNS 。
, dns_stale_ttl 。
: 4
dns_not_found_ttl
DNS “(3) ” TTL( )。
: 30
dns_error_ttl
TTL( ) 。
: 1
dns_no_sync
, , dns 。
, / 。
: off
worker_consistency
( ( , Admin API , ) )。
:
strict: , , 。
eventual: 。
, strict , , 。
eventual , , , 。
: strict
worker_state_update_frequency
。 , 。 , , 。
: 5
lua-nginx-module 。
, lua-nginx-module :https://github.com/openresty/lua-nginx-module
lua_ssl_trusted_certificate
PEM Lua cosocket 。
system , “ ”。 , , :
/etc/ssl/certs/ca-certificates.crt(Debian / Ubuntu / Gentoo)
/etc/pki/tls/certs/ca-bundle.crt(Fedora / RHEL 6)
/etc/ssl/ca-bundle.pem(OpenSUSE)
/etc/pki/tls/cacert.pem(OpenELEC)
/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem(CentOS / RHEL 7)
/etc/ssl/cert.pem(OpenBSD,Alpine)
, 。
system CA 。
pg_ssl_verify cassandra_ssl_verify , 。
https://github.com/openresty/lua-nginx-module#lua_ssl_trusted_certificate
:
lua_ssl_verify_depth
Lua cosockets , lua_ssl_trusted_certificate。
Kong 。
, 。 DoS 。
https://github.com/openresty/lua-nginx-module#lua_ssl_verify_depth
: 1
lua_package_path
Lua (LUA_PATH)。 。
https://github.com/openresty/lua-nginx-module#lua_package_path
: ./?.lua;./?/init.lua;
lua_package_cpath
Lua C (LUA_CPATH)。
https://github.com/openresty/lua-nginx-module#lua_package_cpath
:
lua_socket_pool_size
cosocket 。
https://github.com/openresty/lua-nginx-module#lua_socket_pool_size
: 30
force_rbac
Admin API RBAC。
entity,both,on, off。
on: 。
entity: 。
both: 。
off: 。
, RBAC RBAC / ,Kong Admin API 。
: off
rbac_auth_header
HTTP ,Admin API RBAC 。
: Kong-Admin-Token
kong
Kong Enterprise GUI。
admin_gui_listen
,Kong Kong Manager。 Kong, 。
, admin_listen 。
: 0.0.0.0:8002, 0.0.0.0:8445 ssl
admin_gui_url
Kong Manager。
( ):
<scheme>://<IP / HOSTNAME>(:<PORT>(/<PATH>))
:
http://127.0.0.1:8003
https://kong-admin.test
http://dev-machine/dev-285
,Kong Manager 。
:
admin_gui_ssl_cert
admin_gui_listen SSL SSL 。
:
admin_gui_ssl_cert_key
admin_gui_listen SSL SSL 。
:
admin_gui_flags
Admin GUI(JSON) {
"IMMUNITY_ENABLED": true } Admin GUI Kong Immunity。
: {
}
admin_gui_access_log
, Kong Manager 。 , prefix 。
off Kong Manager 。
: logs/admin_gui_access.log
admin_gui_error_log
Kong Manager
, Kong Manager 。 , prefix 。
off Kong Manager 。
log_level 。
: logs/admin_gui_error.log
admin_gui_auth
Kong Manager
Kong Manager 。
:
basic-auth:
ldap-auth-advanced:LDAP
openid-connect:OpenID Connect
:
admin_gui_auth_conf
Kong Manager (JSON)
admin_gui_auth。
, 。
basic-auth:
admin_gui_auth_conf = {
"hide_credentials": true }
:
admin_gui_auth_password_complexity
Kong Manager (JSON)
admin_gui_auth = basic-auth, Kong Manager 。 。
:
admin_gui_auth_password_complexity = {
"kong-preset": "min_8" }
kong-preset :
(A Z)
(a z)
10 (0 9)
( ,&,$,#,%)
:
min_8: 8
min_12: 12
min_20: 20
, https://manpages.debian.org/jessie/passwdqc/passwdqc.conf.5.en.html。
: “ min”,“ max” “ passphrase”。
:
admin_gui_auth_password_complexity = {
"min": "disabled,24,11,9,8" }
:
admin_gui_session_conf
Kong Manager (JSON)
Kong Manager Session 。
, Kong Session 。
:
admin_gui_session_conf = {
"cookie_name": "kookie", \
"secret": "changeme" }
:
admin_gui_auth_header
HTTP ,Admin API Kong Admin 。
: Kong-Admin-User
admin_gui_auth_login_attempts
Kong Manager 。0 。
: 0
vitals
,Kong 。
Kong , vitals 。
“ ” ,vitals 。
,vitals 。
: on
vitals_strategy
Kong ( database config PostgreSQL Cassandra ) Vitals 。
database,prometheus influxdb。
: database
vitals_tsdb_address
Vitals TSDB 。
vitals_strategy prometheus influxdb。 IPv4,IPv6 。
vitals_strategy prometheus, Vitals Prometheus 。 influxdb , Vitals 。
:
vitals_tsdb_user
Influxdb
:
vitals_tsdb_password
Influxdb
:
vitals_statsd_address
StatsD ( ),Kong Vitals 。 vitals_strategy , prometheus。 IPv4,IPv6 。 ,tcp 。 Kong TCP UDP( ) StatsD 。
:
vitals_statsd_prefix
Vitals StatsD 。 StatsD , 。
: kong
vitals_statsd_udp_packet_size
。
。
: 1024
vitals_prometheus_scrape_interval
Vitals Prometheus scrape_interval 。
Prometheus ( ) 。
: 5
portal
:
Kong portal_gui_listen Dev Portal API , Admin API 。
portal_auth:
Kong Admin API Dev Portal API 。
: off
portal_gui_listen
GUI
Kong GUI 。 , admin_listen 。
: 0.0.0.0:8003, 0.0.0.0:8446 ssl
portal_gui_protocol
GUI
portal_gui_host Kong Proxy 。
:http,https
: http
portal_gui_host
GUI
portal_gui_protocol Kong Proxy 。
:
<IP>:<PORT> -> portal_gui_host = 127.0.0.1:8003
<HOSTNAME> -> portal_gui_host = portal_api.domain.tld
<HOSTNAME>/<PATH> -> portal_gui_host = dev-machine/dev-285
: 127.0.0.1:8003
portal_cors_origins
CORS
Access-Control-Allow-Origin 。 CORS 。
:
: portal_cors_origins = http://localhost:8003, https://localhost:8004
: portal_cors_origins = http://localhost:8003
: portal_cors_origins = *
: , CORS portal_gui_protocol,portal_gui_host ( ) portal_gui_use_subdomains。 ,portal_cors_origins , 。
:
portal_gui_use_subdomains
GUI
,Kong Portal 。 portal_gui_subdomains,Kong Portal URL 。
( ):<scheme>://<HOSTNAME>/<WORKSPACE>/<PATH>--> http://kong-portal.com/example-workspace/index
( ):<scheme>://<WORKSPACE>.<HOSTNAME>--> http://example-workspace.kong-portal.com/index
: off
portal_gui_ssl_cert
GUI SSL
portal_gui_listen SSL SSL 。
:
portal_gui_ssl_cert_key
GUI SSL
portal_gui_listen SSL SSL 。
:
portal_gui_access_log
GUI
Portal GUI 。
off Portal GUI 。
, prefix 。
: logs/portal_gui_access.log
portal_gui_error_log
GUI
, Portal GUI 。
off Portal GUI 。
, prefix 。
log_level 。
: logs/portal_gui_error.log
portal_api_listen
API
,Kong API。 , admin_listen 。
: 0.0.0.0:8004, 0.0.0.0:8447 ssl
portal_api_url
API URL
Developer Portal 。
。
portal_api_url Kong Kong Dev Portal API 。 Kong Dev Portal API Kong Proxy , 。
( ):
<scheme>://<IP / HOSTNAME>(:<PORT>(/<PATH>))
:
<scheme>://<IP>:<PORT> -> portal_api_url = http://127.0.0.1:8003
SSL <scheme>://<HOSTNAME> -> portal_api_url = https://portal_api.domain.tld
<scheme>://<HOSTNAME>/<PATH> -> portal_api_url = http://dev-machine/dev-285
, :
http://0.0.0.0:8004
:
portal_api_ssl_cert
API SSL
portal_api_listen SSL SSL 。
:
portal_api_ssl_cert_key
API SSL
portal_api_listen SSL SSL 。
:
portal_api_access_log
API
Portal API 。
off Portal API 。
, prefix 。
: logs/portal_api_access.log
portal_api_error_log
API
Portal API 。
off Portal API 。
, prefix 。
log_level 。
: logs/portal_api_error.log
portal_is_legacy
on 。
off 。
: off
portal_app_auth
。 application_registration kong-oauth2 external-oauth2
: kong-oauth2
, Dev Portal 。
portal_auth
。 , 。
:
: portal_auth = basic-auth
OIDC : portal_auth = openid-connect
:
portal_auth_password_complexity
(JSON)
portal_auth = basic-auth , Kong Portal 。 。
:
portal_auth_password_complexity = {
"kong-preset": "min_8" }
kong-preset :
(A Z)
(a z)
10 (0 9)
( ,&,$,#,%)
:
min_8: 8
min_12: 12
min_20: 20
, https://manpages.debian.org/jessie/passwdqc/passwdqc.conf.5.en.html。
: “ min”,“ max” “ passphrase”。
:
portal_auth_password_complexity = {
"min": "disabled,24,11,9,8" }
:
portal_auth_conf
(JSON)
JSON Developer Portal 。
, 。
basic-auth:
portal_auth_conf = {
"hide_credentials": true }
:
portal_auth_login_attempts
Dev Portal 。
0( ) 。
: 0 basic-auth Dev Portal。
: 0
portal_session_conf
(JSON)
Kong Portal Session 。
, Kong Session 。
:
portal_session_conf = {
"cookie_name": "portal_session", \
"secret": "changeme", \
"storage": "kong" }
:
portal_auto_approve
on, “ ”。 Admin GUI API 。
: off
portal_token_exp
/ ( )。
: 21600
portal_email_verification
。
, , 。 。
: SMTP 。
: off
“ Smtp ”
, SMTP 。
portal_invite_email
portal_invite_email
: on
portal_access_request_email
portal_access_request_email
: on
portal_approved_email
portal_approved_email
: on
portal_reset_email
portal_reset_email
: on
portal_reset_success_email
portal_reset_success_email
: on
portal_emails_from
From
: portal_emails_from = Your Name <example@example.com>
: SMTP , 。
:
portal_emails_reply_to
Reply-To
: portal_emails_reply_to = example@example.com
: SMTP , 。
:
Smtp
admin_emails_from
From 。
: ""
admin_emails_reply_to
Reply-To 。
:
admin_invitation_expiry
( )。0 。
72 : 72 * 60 * 60 = 259200
: 259200
Smtp
smtp_mock
。 SMTP 。
: on
smtp_host
SMTP 。
: localhost
smtp_port
SMTP 。
: 25
smtp_starttls
on ,STARTTLS SMTP 。 587 。
: off
smtp_username
SMTP
:
smtp_password
SMTP
:
smtp_ssl
on ,SMTPS SMTP 。 465 。
: off
smtp_auth_type
SMTP plain, login nil
:
smtp_domain
EHLO Message-ID
: localhost.localdomain
smtp_timeout_connect
SMTP ( )。
: 60000
smtp_timeout_send
SMTP ( )。
: 60000
smtp_timeout_read
SMTP ( )。
: 60000
smtp_admin_emails
, 。
admin1@example.com, admin2@example.com
:
,Kong Admin API 。 , Admin API 。 , HTTP, Admin API 。
audit_log
,Kong Admin API , 。
: off
audit_log_ignore_methods
HTTP , 。 , HTTP 。
:
audit_log_ignore_paths
, 。 , HTTP 。
:
audit_log_ignore_tables
, 。 , ( “ ” , )。
:
audit_log_payload_exclude
, 。 。
: token, secret, password
audit_log_record_ttl
TTL ( )。 TTL 。
30 : 30 * 24 * 60 * 60 = 2592000
: 2592000
audit_log_signing_key
RSA , 。 , 。 , 。
:
Kong 。
tracing
,Kong , DB DNS , , 。
: off
tracing_write_strategy
Kong 。 ,file 。 JSON 。 file,file_raw,http,tcp,tls, udp。
: file
tracing_write_endpoint
。
file file_raw , Kong 。
tcp,tls udp , :<HOST>:<PORT>
http , : <scheme>://<IP / HOSTNAME>(:<PORT>(/<PATH>))
HTTP application/json Content-Type POST 。
:
tracing_time_threshold
, ( )。 , 。 0 , 。
: 0
tracing_types
。
, 。all , 。
:query,legacy_query,router, balancer.getPeer,balancer.toip,connect.toip,access.before, access.after,cassandra_iterate plugin。
: all
tracing_debug_header
HTTP 。 , 。 , , 。 , Kong Admin API 。 , , 。
:
generate_trace_details
,Kong 。 。 。 , , SQL ; , 。
: off
/
route_validation_strategy
。
。
smart , https://docs.konghq.com/enterprise/latest/admin-api/workspaces/examples/#important-note-conflicting-services-or-routes-in-workspaces
off
path configforce_route_path_pattern
: smart
force_route_path_pattern
pathsRoute Lua 。 , route 。
route_validation_strategy , path。
/$(workspace)/v%d/.* :
/group1/v1/ route group1。
/group2/v1/some_path route group2。
:
“ ”
,Kong , ,TLS RBAC 。 Kong Enterprise 。
Admin API 。
, Alpha 。 。 , 。
keyring_enabled
,Kong , Admin API,Developer Portal 。 。
: off
keyring_strategy
,Kong 。 , Kong Enterprise 。 “ cluster” “ vault”。
: cluster
keyring_public_key
RSA 。 / , , 。
:
keyring_private_key
RSA 。 / , , 。
:
keyring_blob_path
Kong 。
。
:
keyring_vault_host
Vault ,Kong 。 :
<scheme>://<IP / HOSTNAME>:<PORT>
:
keyring_vault_mount
Vault v2 KV 。
:
keyring_vault_path
Vault v2 KV 。
:
keyring_vault_token
v2 KV Vault HTTP(S)API 。
:
untrusted_lua
:
off: ( Admin API) Lua 。
, off 。
sandbox: Lua , 。 , Kong Lua 。
,require untrusted_lua_sandbox_requires Lua 。
LuaJIT 。
:LuaJIT , , , Admin API 。 , Kong 。
on: Lua , 。 , Lua 。 2.3.0 Kong 。
LuaJIT 。
untrusted_lua_sandbox_requires = require 。 untrusted_lua , sandbox。
: 。
untrusted_lua_sandbox_environment = Lua , 。 untrusted_lua , sandbox。
: ( ) 。
: sandbox