zoukankan      html  css  js  c++  java
  • kong 配置详解

    配置属性详解

    可以新建配置文件/etc/kong/kong.conf进行添加修改。

    常规属性

    prefix

    工作目录。相当于Nginx的前缀路径,包含临时文件和日志。每个流程必须有一个单独的工作目录。

    默认:/usr/local/kong


    log_level

    Nginx服务器的日志级别。可以在<prefix>/logs/error.log
    请参阅 http://nginx.org/en/docs/ngx_core_module.html#error_log,以获得公认的值列表。

    默认:notice


    proxy_access_log

    代理端口请求访问日志的路径。设置为off以禁用日志代理请求。如果这个值是相对路径,那么它将被放置于前缀路径之下。

    默认:logs/access.log


    proxy_error_log

    代理端口请求错误日志的路径。这些日志的粒度由log_level指令进行调整。

    默认:logs/error.log


    admin_access_log

    Admin API的路径请求访问日志。设置为off以禁用Admin API请求日志。如果这个值是相对路径,那么它将被放置于前缀路径之下。

    默认:logs/admin_access.log


    admin_error_log

    Admin API请求错误日志的路径。这些日志的粒度由log_level指令进行调整。

    默认:logs/error.log


    custom_plugins

    这个节点应该加载的附加插件的逗号分隔列表。使用这个属性来加载与Kong不捆绑的定制插件。插件将从kong.plugins.{name}.*命名空间加载。

    默认:none
    示例:my-plugin,hello-world,custom-rate-limiting


    anonymous_reports

    发送匿名的使用数据,比如错误堆栈跟踪,以帮助改进Kong。

    默认:on


    Nginx属性

    proxy_listen

    代理服务侦听的地址和端口的逗号分隔的列表。代理服务是Kong的公共入口点,它代理从您的使用者到您的后端服务的流量。这个值接受IPv4、IPv6和主机名。

    可以为每一对指定一些后缀:

    • ssl 将要求通过启用TLS的特定地址/端口进行所有连接。
    • http2 允许客户端打开http/2连接到Kong的代理服务
    • 最后, proxy_protocol 将为给定的地址/端口启用代理协议。

    这个节点的代理端口,启用了“控制面板”模式(没有流量代理功能),可以配置连接到同一数据库的节点集群。

    查看 http://nginx.org/en/docs/http/ngx_http_core_module.html#listen 用于描述这个和其他*_listen值的接受格式。

    默认:0.0.0.0:8000, 0.0.0.0:8443 ssl
    示例:0.0.0.0:80, 0.0.0.0:81 http2, 0.0.0.0:443 ssl, 0.0.0.0:444 http2 ssl


    admin_listen

    管理接口监听的地址和端口的逗号分隔的列表。Admin接口是允许您配置和管理Kong的API。对该接口的访问应该仅限于Kong管理员。这个值接受IPv4、IPv6和主机名。可以为每一对指定一些后缀:

    • ssl 将要求通过启用TLS的特定地址/端口进行所有连接。
    • http2 允许客户端打开http/2连接到Kong的代理服务
    • 最后, proxy_protocol 将为给定的地址/端口启用代理协议。

    这个值可以被设置为off,从而禁用这个节点的Admin接口,从而使“数据面板”模式(没有配置功能)从数据库中拉出它的配置更改。

    默认:127.0.0.1:8001, 127.0.0.1:8444 ssl
    示例:127.0.0.1:8444 http2 ssl


    nginx_user

    定义工作进程使用的用户和组凭据。如果省略组,则使用名称与用户名相同的组。

    默认:nobody nobody
    示例:nginx www


    nginx_worker_processes

    确定Nginx生成的工作进程的数量。请参阅http://nginx.org/en/docs/ngx_core_module.html#worker 流程,以便详细使用该指令和对已接受值的描述。

    默认值:auto


    nginx_daemon

    确定Nginx是否会作为守护进程或前台进程运行。主要用于开发或在Docker环境中运行Kong。

    查阅 http://nginx.org/en/docs/ngx_core_module.html#daemon.

    默认:on


    mem_cache_size

    数据库实体内存缓存的大小。被接受的单位是k和m,最低推荐值为几个MBs。

    默认:128m


    ssl_cipher_suite

    定义Nginx提供的TLS密码。可接受的值modern, intermediate, old, or custom。请参阅 https://wiki.mozilla.org/Security/Server_Side_TLS
    ,了解每个密码套件的详细描述。

    默认值:modern


    ssl_ciphers

    定义一个由Nginx提供的LTS ciphers的自定义列表。这个列表必须符合openssl ciphers定义的模式。如果ssl_cipher_suite不是custom,那么这个值就会被忽略。

    默认值:none


    ssl_cert

    启用SSL时,proxy_listen的SSL证书的绝对路径。

    默认值:none


    ssl_cert_key

    启用SSL时,proxy_listen的SSL key的绝对路径。

    默认值:none


    client_ssl

    当代理请求时,确定Nginx是否应该发送客户端SSL证书。

    默认值:off


    client_ssl_cert

    如果启用了client_ssl,用于proxy_ssl_certificate配置的客户端SSL证书的绝对路径。注意,这个值是静态地在节点上定义的,并且当前不能在每个api的基础上配置。

    默认值:none


    client_ssl_cert_key

    如果启用了client_ssl,用于proxy_ssl_certificate_key配置的客户端SSL证书的绝对路径。注意,这个值是静态地在节点上定义的,并且当前不能在每个api的基础上配置。

    默认值:none


    admin_ssl_cert

    启用了SSL后, admin_listen 的SSL证书的绝对路径。

    默认值:none


    admin_ssl_cert_key

    启用了SSL后, admin_listen 的SSL key的绝对路径。

    默认值:none


    upstream_keepalive

    在每个工作进程,设置缓存中保存的upstream服务的空闲keepalive连接的最大数量。当超过这个数字时,会关闭最近最少使用的连接。

    默认值:60


    server_tokens

    在错误页面,和ServerVia(如果请求被代理)的响应头字段,启用或禁用展示Kong的版本。

    默认值:on


    latency_tokens

    X-Kong-Proxy-LatencyX-Kong-Upstream-Latency响应头字段中,启用或禁用展示Kong的潜在信息。

    默认值:on


    trusted_ips

    定义可信的IP地址块,使其知道如何发送正确的 X-Forwarded-* 头部信息。来自受信任的ip的请求使Kong转发他们的 X-Forwarded-* headers upstream。不受信任的请求使Kong插入自己的 X-Forwarded-* headers。

    该属性还在Nginx配置中设置 set_real_ip_from 指令(s)。它接受相同类型的值(CIDR块),但它是一个逗号分隔的列表。

    如果相信 all /! IPs,请把这个值设为0.0.0.0/0,::/0

    如果特殊值unix:被指定了,所有的unix域套接字都将被信任。

    查阅 the Nginx docs 了解 更详细的set_real_ip_from配置资料。

    Default: none


    real_ip_header

    定义请求头字段,它的值将被用来替换客户端地址。在Nginx配置中使用相同名称的指令 ngx_http_realip_module 设置该值。

    如果这个值接收到 proxy_protocol,那么 proxy_protocol 参数将被附加到Nginx模板的 listen 指令中。

    查阅 the Nginx docs 寻找更详细的描述。

    默认值: X-Real-IP


    real_ip_recursive

    该值设置了Nginx配置中同名的 ngx_http_realip_module 指令。

    查阅 the Nginx docs 寻找更详细的描述。

    默认值: off


    client_max_body_size

    指定在 Content-Length 的请求头中,定义Kong代理的请求的最大被允许的请求体大小。如果请求超过这个限度,Kong将返回413(请求实体太大)。将该值设置为0将禁用检查请求体的大小。

    提示: 查阅关于 the Nginx docs 这个参数的进一步描述。数值可以用km后缀,表示限制是千字节,还是兆字节。

    默认值:0


    client_body_buffer_size

    定义读取请求主体的缓冲区大小。如果客户端请求体大于这个值,则阀体将被缓冲到磁盘。请注意,当阀体被缓冲到磁盘的时候,访问或操纵请求主体可能无法工作,因此最好将这个值设置为尽可能高的值。(例如,将其设置为client_max_body_size,以迫使请求体保持在内存中)。请注意,高并发性环境需要大量的内存分配来处理许多并发的大型请求体。

    提示: 查阅关于 the Nginx docs 这个参数的进一步描述。数值可以用km后缀,表示限制是千字节,还是兆字节。

    默认值:8k


    error_default_type

    当请求Accept标头丢失时,使用默认的MIME类型,且Nginx为这个请求返回一个错误。可接受的值包括 text/plain, text/html, application/json, 和application/xml.

    默认值:text/plain


    数据存储属性

    Kong将存储所有的数据(如api、消费者和插件)到Cassandra或PostgreSQL。

    属于同一集群的所有Kong节点都必须连接到同一个数据库。

    从Kong0.12.0开始:
    PostgreSQL 9.4支持应该被认为是弃用。鼓励用户升级到9.5+
    应该考虑支持Cassandra 2.1的支持。鼓励用户升级到2.2+


    database

    确定这个节点将使用哪个PostgreSQL或Cassandra作为它的数据存储。可以设置为:postgrescassandra

    默认值:postgres


    Postgres settings

    名称描述
    pg_host Postgres服务器的主机
    pg_port Postgres服务器的端口
    pg_user Postgres用户
    pg_password Postgres用户的密码
    pg_database 数据库连接。必须存在
    pg_ssl 启用SSL连接到服务器
    pg_ssl_verify 如果启用了pg_ssl,则切换服务器证书验证。看到lua_ssl_trusted_certificate设置。

    Cassandra settings

    名称描述
    cassandra_contact_points 指向您的Cassandra集群的链接点列表,使用逗号分割。
    cassandra_port 你的节点监听的端口
    cassandra_keyspace 在集群中使用的关键空间。如果不存在,就会被创建。
    cassandra_consistency 在阅读/写作时使用一致性设置。
    cassandra_timeout 读取/写入 超时(ms)时间。
    cassandra_ssl 启用SSL连接到节点。
    cassandra_ssl_verify 如果启用了cassandra_ssl,则切换服务器证书验证。查看 lua_ssl_trusted_certificate 设置。
    cassandra_username 使用PasswordAuthenticator时的用户名。
    cassandra_password 在使用PasswordAuthenticator时的密码。
    cassandra_consistency 在读取/写入Cassandra集群时使用一致性设置。
    cassandra_lb_policy 当在您的Cassandra集群中分布查询时使用负载平衡策略。可设置为 RoundRobinDCAwareRoundRobin 。如果您使用的是多数据中心集群,则后者更好。如果是这样,还要设置 cassandra_local_datacenter
    cassandra_local_datacenter 在使用DCAwareRoundRobin政策时,必须指定本地(最近)的集群名称到这个Kong节点。
    cassandra_repl_strategy 如果第一次创建密钥空间,请指定复制策略。
    cassandra_repl_factor SimpleStrategy指定一个复制因子。
    cassandra_data_centers NetworkTopologyStrategy(网络拓扑策略)指定数据中心。
    cassandra_schema_consensus_timeout Cassandra节点之间同步scheme的超时( ms)时间。这个值只在数据迁移期间使用。

    数据缓存属性

    为了避免与数据存储不必要的通信,Kong可配置缓存实体(比如api、消费者、凭证等等)的间隔时间。如果缓存实体被更新,它也会处理也会失效。

    本节介绍关于配置Kong此类配置实体缓存。


    db_update_frequency

    频率(以秒为单位),用于检查带有数据存储的更新实体。当节点通过Admin API创建、更新或删除实体时,其他节点需要等待下一次轮询(由这个值配置),以清除旧的缓存实体并开始使用新的缓存。

    默认值:5 seconds


    db_update_propagation

    在数据存储中为实体所花费的时间(以秒为单位)被传播到另一个数据中心的副本节点。当在分布式环境中,比如多数据中心Cassandra集群时,这个值应该是Cassandra将一行传播到其他数据中心的最大秒数。当设置了该值,该属性将增加Kong传播实体变更所花费的时间。单数据中心设置或PostgreSQL服务器不应该受到这样的延迟,并且这个值可以安全地设置为0。

    默认值: 0 seconds


    db_cache_ttl

    该节点数据存储实体缓存的生存时间(以秒为单位)。数据库遗漏(没有实体)也会根据这个设置进行缓存。如果设置为0,那么这种缓存的实体/遗漏永远不会过期。

    默认值:3600 seconds(1小时)


    DNS解析属性

    Kong将把主机名解析为 SRVA 记录(按照该顺序,CNAME 记录将在此过程中被取消)。如果一个名称被解析为SRV记录,它会通过从DNS服务器接收到端口以覆盖给定的端口号。

    DNS选项SEARCHNDOTS(来自/etc/resolv.conf 文件)将被用于将短名称扩展到完全限定的名称。因此,它将首先尝试完整 SEARCH SRV类型的列表,如果失败,它将会尝试SEARCH A记录列表,等等。

    ttl的持续时间内,内部DNS解析器将对DNS记录的条目上做负载均衡请求。对于SRV记录,可以设置权重,但是它只会使用记录中最低优先级字段条目。


    dns_resolver

    设置域名服务器列表,使用逗号分隔。格式如: ip[:port] 。如果没有制定域名服务器,name就使用本地 resolv.conf 文件。端口默认为53。可以使用IPv4和IPv6地址。

    默认值: none


    dns_hostsfile

    要使用的主机文件。这个文件只被读取一次,然后会存储在内存中。要在修改后想再次读取该文件,必须重新加载Kong。

    默认值:/etc/hosts


    dns_order

    解决不同记录类型的顺序。LAST类型指的是最后一次成功的查找的类型(对于指定的名称)。格式是一个(大小写不敏感)逗号分隔的列表。

    默认值: LAST,SRV,A,CNAME


    dns_stale_ttl

    定义在缓存中保存DNS记录的TTL时间。当新的DNS记录在后台获取时,这个值将被使用。陈旧的数据将从记录的过期时间使用,直到刷新查询完成,或者dns_stale_ttl的秒数已经过去。

    默认值:4


    dns_not_found_ttl

    空DNS响应和 "(3) name error" 响应的TTL时间(以秒为单位)

    默认值:30


    dns_error_ttl

    错误响应的TTL时间(以秒为单位)

    默认值:1


    dns_no_sync

    如果启用了,那么在cache-miss时,每个请求都会触发自己的dns查询。当为相同的名称/类型禁用多个请求时,将同步到单个查询。

    默认值: off


    开发与其他属性

    从lua-nginx-module继承的附加设置,可以更灵活和更高级的使用。
    有关更多信息,请参见lua-nginx-module文档:https://github.com/openresty/lua-nginx-module


    lua_ssl_trusted_certificate

    在PEM格式的Lua cosockets的证书权威文件的绝对路径。该证书将用于验证Kong的数据库连接,当启用pg_ssl_verifycassandra_ssl_verify时。

    详情查阅:https://github.com/openresty/lua-nginx-module#lua_ssl_trusted_certificate

    默认值: none


    lua_ssl_verify_depth

    在Lua cosockets使用的服务器证书链中设置验证深度,通过lua_ssl_trusted_certificate 设置。

    这包括为Kong的数据库连接配置的证书。

    详情查阅: 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

    默认值: none


    lua_package_cpath

    设置Lua C模块搜索路径(LUA_CPATH)。

    详情查阅:https://github.com/openresty/lua-nginx-module#lua_package_cpath

    默认值: none


    lua_socket_pool_size

    指定与每个远程服务器相关联的每个cosocket连接池的大小限制。

    详情查阅:https://github.com/openresty/lua-nginx-module#lua_socket_pool_size

    默认值:30

    配置属性详解

    可以新建配置文件/etc/kong/kong.conf进行添加修改。

    常规属性

    prefix

    工作目录。相当于Nginx的前缀路径,包含临时文件和日志。每个流程必须有一个单独的工作目录。

    默认:/usr/local/kong


    log_level

    Nginx服务器的日志级别。可以在<prefix>/logs/error.log
    请参阅 http://nginx.org/en/docs/ngx_core_module.html#error_log,以获得公认的值列表。

    默认:notice


    proxy_access_log

    代理端口请求访问日志的路径。设置为off以禁用日志代理请求。如果这个值是相对路径,那么它将被放置于前缀路径之下。

    默认:logs/access.log


    proxy_error_log

    代理端口请求错误日志的路径。这些日志的粒度由log_level指令进行调整。

    默认:logs/error.log


    admin_access_log

    Admin API的路径请求访问日志。设置为off以禁用Admin API请求日志。如果这个值是相对路径,那么它将被放置于前缀路径之下。

    默认:logs/admin_access.log


    admin_error_log

    Admin API请求错误日志的路径。这些日志的粒度由log_level指令进行调整。

    默认:logs/error.log


    custom_plugins

    这个节点应该加载的附加插件的逗号分隔列表。使用这个属性来加载与Kong不捆绑的定制插件。插件将从kong.plugins.{name}.*命名空间加载。

    默认:none
    示例:my-plugin,hello-world,custom-rate-limiting


    anonymous_reports

    发送匿名的使用数据,比如错误堆栈跟踪,以帮助改进Kong。

    默认:on


    Nginx属性

    proxy_listen

    代理服务侦听的地址和端口的逗号分隔的列表。代理服务是Kong的公共入口点,它代理从您的使用者到您的后端服务的流量。这个值接受IPv4、IPv6和主机名。

    可以为每一对指定一些后缀:

    • ssl 将要求通过启用TLS的特定地址/端口进行所有连接。
    • http2 允许客户端打开http/2连接到Kong的代理服务
    • 最后, proxy_protocol 将为给定的地址/端口启用代理协议。

    这个节点的代理端口,启用了“控制面板”模式(没有流量代理功能),可以配置连接到同一数据库的节点集群。

    查看 http://nginx.org/en/docs/http/ngx_http_core_module.html#listen 用于描述这个和其他*_listen值的接受格式。

    默认:0.0.0.0:8000, 0.0.0.0:8443 ssl
    示例:0.0.0.0:80, 0.0.0.0:81 http2, 0.0.0.0:443 ssl, 0.0.0.0:444 http2 ssl


    admin_listen

    管理接口监听的地址和端口的逗号分隔的列表。Admin接口是允许您配置和管理Kong的API。对该接口的访问应该仅限于Kong管理员。这个值接受IPv4、IPv6和主机名。可以为每一对指定一些后缀:

    • ssl 将要求通过启用TLS的特定地址/端口进行所有连接。
    • http2 允许客户端打开http/2连接到Kong的代理服务
    • 最后, proxy_protocol 将为给定的地址/端口启用代理协议。

    这个值可以被设置为off,从而禁用这个节点的Admin接口,从而使“数据面板”模式(没有配置功能)从数据库中拉出它的配置更改。

    默认:127.0.0.1:8001, 127.0.0.1:8444 ssl
    示例:127.0.0.1:8444 http2 ssl


    nginx_user

    定义工作进程使用的用户和组凭据。如果省略组,则使用名称与用户名相同的组。

    默认:nobody nobody
    示例:nginx www


    nginx_worker_processes

    确定Nginx生成的工作进程的数量。请参阅http://nginx.org/en/docs/ngx_core_module.html#worker 流程,以便详细使用该指令和对已接受值的描述。

    默认值:auto


    nginx_daemon

    确定Nginx是否会作为守护进程或前台进程运行。主要用于开发或在Docker环境中运行Kong。

    查阅 http://nginx.org/en/docs/ngx_core_module.html#daemon.

    默认:on


    mem_cache_size

    数据库实体内存缓存的大小。被接受的单位是k和m,最低推荐值为几个MBs。

    默认:128m


    ssl_cipher_suite

    定义Nginx提供的TLS密码。可接受的值modern, intermediate, old, or custom。请参阅 https://wiki.mozilla.org/Security/Server_Side_TLS
    ,了解每个密码套件的详细描述。

    默认值:modern


    ssl_ciphers

    定义一个由Nginx提供的LTS ciphers的自定义列表。这个列表必须符合openssl ciphers定义的模式。如果ssl_cipher_suite不是custom,那么这个值就会被忽略。

    默认值:none


    ssl_cert

    启用SSL时,proxy_listen的SSL证书的绝对路径。

    默认值:none


    ssl_cert_key

    启用SSL时,proxy_listen的SSL key的绝对路径。

    默认值:none


    client_ssl

    当代理请求时,确定Nginx是否应该发送客户端SSL证书。

    默认值:off


    client_ssl_cert

    如果启用了client_ssl,用于proxy_ssl_certificate配置的客户端SSL证书的绝对路径。注意,这个值是静态地在节点上定义的,并且当前不能在每个api的基础上配置。

    默认值:none


    client_ssl_cert_key

    如果启用了client_ssl,用于proxy_ssl_certificate_key配置的客户端SSL证书的绝对路径。注意,这个值是静态地在节点上定义的,并且当前不能在每个api的基础上配置。

    默认值:none


    admin_ssl_cert

    启用了SSL后, admin_listen 的SSL证书的绝对路径。

    默认值:none


    admin_ssl_cert_key

    启用了SSL后, admin_listen 的SSL key的绝对路径。

    默认值:none


    upstream_keepalive

    在每个工作进程,设置缓存中保存的upstream服务的空闲keepalive连接的最大数量。当超过这个数字时,会关闭最近最少使用的连接。

    默认值:60


    server_tokens

    在错误页面,和ServerVia(如果请求被代理)的响应头字段,启用或禁用展示Kong的版本。

    默认值:on


    latency_tokens

    X-Kong-Proxy-LatencyX-Kong-Upstream-Latency响应头字段中,启用或禁用展示Kong的潜在信息。

    默认值:on


    trusted_ips

    定义可信的IP地址块,使其知道如何发送正确的 X-Forwarded-* 头部信息。来自受信任的ip的请求使Kong转发他们的 X-Forwarded-* headers upstream。不受信任的请求使Kong插入自己的 X-Forwarded-* headers。

    该属性还在Nginx配置中设置 set_real_ip_from 指令(s)。它接受相同类型的值(CIDR块),但它是一个逗号分隔的列表。

    如果相信 all /! IPs,请把这个值设为0.0.0.0/0,::/0

    如果特殊值unix:被指定了,所有的unix域套接字都将被信任。

    查阅 the Nginx docs 了解 更详细的set_real_ip_from配置资料。

    Default: none


    real_ip_header

    定义请求头字段,它的值将被用来替换客户端地址。在Nginx配置中使用相同名称的指令 ngx_http_realip_module 设置该值。

    如果这个值接收到 proxy_protocol,那么 proxy_protocol 参数将被附加到Nginx模板的 listen 指令中。

    查阅 the Nginx docs 寻找更详细的描述。

    默认值: X-Real-IP


    real_ip_recursive

    该值设置了Nginx配置中同名的 ngx_http_realip_module 指令。

    查阅 the Nginx docs 寻找更详细的描述。

    默认值: off


    client_max_body_size

    指定在 Content-Length 的请求头中,定义Kong代理的请求的最大被允许的请求体大小。如果请求超过这个限度,Kong将返回413(请求实体太大)。将该值设置为0将禁用检查请求体的大小。

    提示: 查阅关于 the Nginx docs 这个参数的进一步描述。数值可以用km后缀,表示限制是千字节,还是兆字节。

    默认值:0


    client_body_buffer_size

    定义读取请求主体的缓冲区大小。如果客户端请求体大于这个值,则阀体将被缓冲到磁盘。请注意,当阀体被缓冲到磁盘的时候,访问或操纵请求主体可能无法工作,因此最好将这个值设置为尽可能高的值。(例如,将其设置为client_max_body_size,以迫使请求体保持在内存中)。请注意,高并发性环境需要大量的内存分配来处理许多并发的大型请求体。

    提示: 查阅关于 the Nginx docs 这个参数的进一步描述。数值可以用km后缀,表示限制是千字节,还是兆字节。

    默认值:8k


    error_default_type

    当请求Accept标头丢失时,使用默认的MIME类型,且Nginx为这个请求返回一个错误。可接受的值包括 text/plain, text/html, application/json, 和application/xml.

    默认值:text/plain


    数据存储属性

    Kong将存储所有的数据(如api、消费者和插件)到Cassandra或PostgreSQL。

    属于同一集群的所有Kong节点都必须连接到同一个数据库。

    从Kong0.12.0开始:
    PostgreSQL 9.4支持应该被认为是弃用。鼓励用户升级到9.5+
    应该考虑支持Cassandra 2.1的支持。鼓励用户升级到2.2+


    database

    确定这个节点将使用哪个PostgreSQL或Cassandra作为它的数据存储。可以设置为:postgrescassandra

    默认值:postgres


    Postgres settings

    名称描述
    pg_host Postgres服务器的主机
    pg_port Postgres服务器的端口
    pg_user Postgres用户
    pg_password Postgres用户的密码
    pg_database 数据库连接。必须存在
    pg_ssl 启用SSL连接到服务器
    pg_ssl_verify 如果启用了pg_ssl,则切换服务器证书验证。看到lua_ssl_trusted_certificate设置。

    Cassandra settings

    名称描述
    cassandra_contact_points 指向您的Cassandra集群的链接点列表,使用逗号分割。
    cassandra_port 你的节点监听的端口
    cassandra_keyspace 在集群中使用的关键空间。如果不存在,就会被创建。
    cassandra_consistency 在阅读/写作时使用一致性设置。
    cassandra_timeout 读取/写入 超时(ms)时间。
    cassandra_ssl 启用SSL连接到节点。
    cassandra_ssl_verify 如果启用了cassandra_ssl,则切换服务器证书验证。查看 lua_ssl_trusted_certificate 设置。
    cassandra_username 使用PasswordAuthenticator时的用户名。
    cassandra_password 在使用PasswordAuthenticator时的密码。
    cassandra_consistency 在读取/写入Cassandra集群时使用一致性设置。
    cassandra_lb_policy 当在您的Cassandra集群中分布查询时使用负载平衡策略。可设置为 RoundRobinDCAwareRoundRobin 。如果您使用的是多数据中心集群,则后者更好。如果是这样,还要设置 cassandra_local_datacenter
    cassandra_local_datacenter 在使用DCAwareRoundRobin政策时,必须指定本地(最近)的集群名称到这个Kong节点。
    cassandra_repl_strategy 如果第一次创建密钥空间,请指定复制策略。
    cassandra_repl_factor SimpleStrategy指定一个复制因子。
    cassandra_data_centers NetworkTopologyStrategy(网络拓扑策略)指定数据中心。
    cassandra_schema_consensus_timeout Cassandra节点之间同步scheme的超时( ms)时间。这个值只在数据迁移期间使用。

    数据缓存属性

    为了避免与数据存储不必要的通信,Kong可配置缓存实体(比如api、消费者、凭证等等)的间隔时间。如果缓存实体被更新,它也会处理也会失效。

    本节介绍关于配置Kong此类配置实体缓存。


    db_update_frequency

    频率(以秒为单位),用于检查带有数据存储的更新实体。当节点通过Admin API创建、更新或删除实体时,其他节点需要等待下一次轮询(由这个值配置),以清除旧的缓存实体并开始使用新的缓存。

    默认值:5 seconds


    db_update_propagation

    在数据存储中为实体所花费的时间(以秒为单位)被传播到另一个数据中心的副本节点。当在分布式环境中,比如多数据中心Cassandra集群时,这个值应该是Cassandra将一行传播到其他数据中心的最大秒数。当设置了该值,该属性将增加Kong传播实体变更所花费的时间。单数据中心设置或PostgreSQL服务器不应该受到这样的延迟,并且这个值可以安全地设置为0。

    默认值: 0 seconds


    db_cache_ttl

    该节点数据存储实体缓存的生存时间(以秒为单位)。数据库遗漏(没有实体)也会根据这个设置进行缓存。如果设置为0,那么这种缓存的实体/遗漏永远不会过期。

    默认值:3600 seconds(1小时)


    DNS解析属性

    Kong将把主机名解析为 SRVA 记录(按照该顺序,CNAME 记录将在此过程中被取消)。如果一个名称被解析为SRV记录,它会通过从DNS服务器接收到端口以覆盖给定的端口号。

    DNS选项SEARCHNDOTS(来自/etc/resolv.conf 文件)将被用于将短名称扩展到完全限定的名称。因此,它将首先尝试完整 SEARCH SRV类型的列表,如果失败,它将会尝试SEARCH A记录列表,等等。

    ttl的持续时间内,内部DNS解析器将对DNS记录的条目上做负载均衡请求。对于SRV记录,可以设置权重,但是它只会使用记录中最低优先级字段条目。


    dns_resolver

    设置域名服务器列表,使用逗号分隔。格式如: ip[:port] 。如果没有制定域名服务器,name就使用本地 resolv.conf 文件。端口默认为53。可以使用IPv4和IPv6地址。

    默认值: none


    dns_hostsfile

    要使用的主机文件。这个文件只被读取一次,然后会存储在内存中。要在修改后想再次读取该文件,必须重新加载Kong。

    默认值:/etc/hosts


    dns_order

    解决不同记录类型的顺序。LAST类型指的是最后一次成功的查找的类型(对于指定的名称)。格式是一个(大小写不敏感)逗号分隔的列表。

    默认值: LAST,SRV,A,CNAME


    dns_stale_ttl

    定义在缓存中保存DNS记录的TTL时间。当新的DNS记录在后台获取时,这个值将被使用。陈旧的数据将从记录的过期时间使用,直到刷新查询完成,或者dns_stale_ttl的秒数已经过去。

    默认值:4


    dns_not_found_ttl

    空DNS响应和 "(3) name error" 响应的TTL时间(以秒为单位)

    默认值:30


    dns_error_ttl

    错误响应的TTL时间(以秒为单位)

    默认值:1


    dns_no_sync

    如果启用了,那么在cache-miss时,每个请求都会触发自己的dns查询。当为相同的名称/类型禁用多个请求时,将同步到单个查询。

    默认值: off


    开发与其他属性

    从lua-nginx-module继承的附加设置,可以更灵活和更高级的使用。
    有关更多信息,请参见lua-nginx-module文档:https://github.com/openresty/lua-nginx-module


    lua_ssl_trusted_certificate

    在PEM格式的Lua cosockets的证书权威文件的绝对路径。该证书将用于验证Kong的数据库连接,当启用pg_ssl_verifycassandra_ssl_verify时。

    详情查阅:https://github.com/openresty/lua-nginx-module#lua_ssl_trusted_certificate

    默认值: none


    lua_ssl_verify_depth

    在Lua cosockets使用的服务器证书链中设置验证深度,通过lua_ssl_trusted_certificate 设置。

    这包括为Kong的数据库连接配置的证书。

    详情查阅: 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

    默认值: none


    lua_package_cpath

    设置Lua C模块搜索路径(LUA_CPATH)。

    详情查阅:https://github.com/openresty/lua-nginx-module#lua_package_cpath

    默认值: none


    lua_socket_pool_size

    指定与每个远程服务器相关联的每个cosocket连接池的大小限制。

    详情查阅:https://github.com/openresty/lua-nginx-module#lua_socket_pool_size

    默认值:30

  • 相关阅读:
    c# Task多线程并行任务中等待所有线程都执行完成
    C#多线程之所有线程执行完成后
    正则表达式
    js 实时监听input中值变化
    js中prop和attr区别
    获取自定义属性
    checkBox
    js中判断数组中是否包含某元素的方法
    leetcode — path-sum-ii
    leetcode — path-sum
  • 原文地址:https://www.cnblogs.com/breg/p/13204582.html
Copyright © 2011-2022 走看看