zoukankan      html  css  js  c++  java
  • Kong配置文件

    注意:kong启动时,会读取/etc/kong/kong.conf--这个文件是kong,依赖的,会根据配置动态调整

    生成nginx依赖的nginx.conf(--include  nginx-kong.conf)

    [root@swarmmanager kong]# cat nginx-kong.conf

    https://docs.konghq.com/2.0.x/configuration/---参考这个链接
    charset UTF-8;
    server_tokens off;

    error_log syslog:server=kong-hf.konghq.com:61828 error;
    error_log logs/error.log notice;

    lua_package_path       './?.lua;./?/init.lua;;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;./?.lua;/usr/local/openresty/luajit/share/luajit-2.1.0-beta3/?.lua;/usr/local/openresty/luajit/share/lua/5.1/?.lua;/usr/local/openresty/luajit/share/lua/5.1/?/init.lua;/root/.luarocks/share/lua/5.1/?.lua;/root/.luarocks/share/lua/5.1/?/init.lua;;';
    lua_package_cpath      ';/usr/local/lib/lua/5.1/?.so;./?.so;/usr/local/openresty/luajit/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so;/root/.luarocks/lib/lua/5.1/?.so;;';
    lua_socket_pool_size   30;
    lua_socket_log_errors  off;
    lua_max_running_timers 4096;
    lua_max_pending_timers 16384;
    lua_ssl_verify_depth   1;

    lua_shared_dict kong                        5m;
    lua_shared_dict kong_locks                  8m;
    lua_shared_dict kong_healthchecks           5m;
    lua_shared_dict kong_process_events         5m;
    lua_shared_dict kong_cluster_events         5m;
    lua_shared_dict kong_rate_limiting_counters 12m;
    lua_shared_dict kong_core_db_cache          128m;
    lua_shared_dict kong_core_db_cache_miss     12m;
    lua_shared_dict kong_db_cache               128m;
    lua_shared_dict kong_db_cache_miss          12m;

    underscores_in_headers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

    # injected nginx_http_* directives
    client_max_body_size 0;
    ssl_prefer_server_ciphers off;
    client_body_buffer_size 8k;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_session_tickets on;
    ssl_session_timeout 1d;
    lua_shared_dict prometheus_metrics 5m;

    init_by_lua_block {
        Kong = require 'kong'
        Kong.init()
    }

    init_worker_by_lua_block {
        Kong.init_worker()
    }

    upstream kong_upstream {
        server 0.0.0.1;
        balancer_by_lua_block {
            Kong.balancer()
        }

        # injected nginx_upstream_* directives
        keepalive_requests 100;
        keepalive_timeout 60s;
        keepalive 60;
    }

    server {
        server_name kong;
        listen 0.0.0.0:8000 reuseport backlog=16384;
        listen 0.0.0.0:8443 ssl http2 reuseport backlog=16384;

        error_page 400 404 408 411 412 413 414 417 494 /kong_error_handler;
        error_page 500 502 503 504                     /kong_error_handler;

        access_log logs/access.log;
        error_log  logs/error.log notice;

        ssl_certificate     /usr/local/kong/ssl/kong-default.crt;
        ssl_certificate_key /usr/local/kong/ssl/kong-default.key;
        ssl_session_cache   shared:SSL:10m;
        ssl_certificate_by_lua_block {
            Kong.ssl_certificate()
        }

        # injected nginx_proxy_* directives
        real_ip_header X-Real-IP;
        real_ip_recursive off;

        rewrite_by_lua_block {
            Kong.rewrite()
        }

        access_by_lua_block {
            Kong.access()
        }

        header_filter_by_lua_block {
            Kong.header_filter()
        }

        body_filter_by_lua_block {
            Kong.body_filter()
        }

        log_by_lua_block {
            Kong.log()
        }

        location / {
            default_type                    '';

            set $ctx_ref                    '';
            set $upstream_te                '';
            set $upstream_host              '';
            set $upstream_upgrade           '';
            set $upstream_connection        '';
            set $upstream_scheme            '';
            set $upstream_uri               '';
            set $upstream_x_forwarded_for   '';
            set $upstream_x_forwarded_proto '';
            set $upstream_x_forwarded_host  '';
            set $upstream_x_forwarded_port  '';
            set $kong_proxy_mode            'http';

            proxy_http_version    1.1;
            proxy_set_header      TE                $upstream_te;
            proxy_set_header      Host              $upstream_host;
            proxy_set_header      Upgrade           $upstream_upgrade;
            proxy_set_header      Connection        $upstream_connection;
            proxy_set_header      X-Forwarded-For   $upstream_x_forwarded_for;
            proxy_set_header      X-Forwarded-Proto $upstream_x_forwarded_proto;
            proxy_set_header      X-Forwarded-Host  $upstream_x_forwarded_host;
            proxy_set_header      X-Forwarded-Port  $upstream_x_forwarded_port;
            proxy_set_header      X-Real-IP         $remote_addr;
            proxy_pass_header     Server;
            proxy_pass_header     Date;
            proxy_ssl_name        $upstream_host;
            proxy_ssl_server_name on;
            proxy_pass            $upstream_scheme://kong_upstream$upstream_uri;
        }

        location @grpc {
            internal;
            default_type         '';
            set $kong_proxy_mode 'grpc';

            grpc_set_header      TE                $upstream_te;
            grpc_set_header      Host              $upstream_host;
            grpc_set_header      X-Forwarded-For   $upstream_x_forwarded_for;
            grpc_set_header      X-Forwarded-Proto $upstream_x_forwarded_proto;
            grpc_set_header      X-Forwarded-Host  $upstream_x_forwarded_host;
            grpc_set_header      X-Forwarded-Port  $upstream_x_forwarded_port;
            grpc_set_header      X-Real-IP         $remote_addr;
            grpc_pass_header     Server;
            grpc_pass_header     Date;
            grpc_pass            grpc://kong_upstream;
        }

        location @grpcs {
            internal;
            default_type         '';
            set $kong_proxy_mode 'grpc';

            grpc_set_header      TE                $upstream_te;
            grpc_set_header      Host              $upstream_host;
            grpc_set_header      X-Forwarded-For   $upstream_x_forwarded_for;
            grpc_set_header      X-Forwarded-Proto $upstream_x_forwarded_proto;
            grpc_set_header      X-Forwarded-Host  $upstream_x_forwarded_host;
            grpc_set_header      X-Forwarded-Port  $upstream_x_forwarded_port;
            grpc_set_header      X-Real-IP         $remote_addr;
            grpc_pass_header     Server;
            grpc_pass_header     Date;
            grpc_ssl_name        $upstream_host;
            grpc_ssl_server_name on;
            grpc_pass            grpcs://kong_upstream;
        }

        location = /kong_buffered_http {
            internal;
            default_type         '';
            set $kong_proxy_mode 'http';

            rewrite_by_lua_block       {;}
            access_by_lua_block        {;}
            header_filter_by_lua_block {;}
            body_filter_by_lua_block   {;}
            log_by_lua_block           {;}

            proxy_http_version 1.1;
            proxy_set_header      TE                $upstream_te;
            proxy_set_header      Host              $upstream_host;
            proxy_set_header      Upgrade           $upstream_upgrade;
            proxy_set_header      Connection        $upstream_connection;
            proxy_set_header      X-Forwarded-For   $upstream_x_forwarded_for;
            proxy_set_header      X-Forwarded-Proto $upstream_x_forwarded_proto;
            proxy_set_header      X-Forwarded-Host  $upstream_x_forwarded_host;
            proxy_set_header      X-Forwarded-Port  $upstream_x_forwarded_port;
            proxy_set_header      X-Real-IP         $remote_addr;
            proxy_pass_header     Server;
            proxy_pass_header     Date;
            proxy_ssl_name        $upstream_host;
            proxy_ssl_server_name on;
            proxy_pass            $upstream_scheme://kong_upstream$upstream_uri;
        }

        location = /kong_error_handler {
            internal;
            default_type                 '';

            uninitialized_variable_warn  off;

            rewrite_by_lua_block {;}
            access_by_lua_block  {;}

            content_by_lua_block {
                Kong.handle_error()
            }
        }
    }

    server {
        server_name kong_admin;
        listen 127.0.0.1:8001 reuseport backlog=16384;
        listen 127.0.0.1:8444 ssl http2 reuseport backlog=16384;

        access_log logs/admin_access.log;
        error_log  logs/error.log notice;

        client_max_body_size    10m;
        client_body_buffer_size 10m;

        ssl_certificate     /usr/local/kong/ssl/admin-kong-default.crt;
        ssl_certificate_key /usr/local/kong/ssl/admin-kong-default.key;
        ssl_session_cache   shared:AdminSSL:10m;

        # injected nginx_admin_* directives

        location / {
            default_type application/json;
            content_by_lua_block {
                Kong.admin_content()
            }
            header_filter_by_lua_block {
                Kong.admin_header_filter()
            }
        }

        location /nginx_status {
            internal;
            access_log off;
            stub_status;
        }

        location /robots.txt {
            return 200 'User-agent: * Disallow: /';
        }
    }


    [root@swarmmanager kong]# cat nginx.conf
    pid pids/nginx.pid;
    error_log logs/error.log notice;

    # injected nginx_main_* directives
    daemon on;
    worker_rlimit_nofile 1024;
    worker_processes auto;

    events {
        # injected nginx_events_* directives
        worker_connections 1024;
        multi_accept on;
    }

    http {
        include 'nginx-kong.conf';
    }

  • 相关阅读:
    PAT A1094 The Largest Generation (25 分)——树的bfs遍历
    PAT A1055 The World's Richest (25 分)——排序
    PAT A1052 Linked List Sorting (25 分)——链表,排序
    PAT A1076 Forwards on Weibo (30 分)——图的bfs
    辅导员
    辅导员面试
    C程序设计
    Excel VBA 基本概念
    Excel函数
    导入excel表的数据到数据库ssh
  • 原文地址:https://www.cnblogs.com/justart/p/12593334.html
Copyright © 2011-2022 走看看