• 2-kong的preserve_host和strip_uri解析


    原文参考:https://www.cnblogs.com/mentalidade/p/6847004.html

    • preserve_host:当代理的时候,k代理时,Kong的默认行为是将上游请求的Host头设置为API的upstream_url属性的主机名。这个参数接受一个boolean值。
      当为FALSE时,如下:
    {
        "name": "my-api",
        "upstream_url": "http://my-api.com",
        "hosts": ["service.com"],
    }

    客户端请kong的请求头:

    GET / HTTP/1.1
    Host: service.com

    kong将从upstream_url中提取主机名作为HOST的值去请求上游服务。如下:

    GET / HTTP/1.1
    Host: my-api.com

    当明确的制定为true时,

    {
        "name": "my-api",
        "upstream_url": "http://my-api.com",
        "hosts": ["service.com"],
        "preserve_host": true
    }

    还是上面的那个相同的客户端请求,kong将发送如下的请求头去请求上游服务。

    GET / HTTP/1.1
    Host: service.com

    即客户端请求的HOST通过kong透传到上游服务,而不是从upstream_url提取。

    • strip_uri:指定uri前缀去匹配一个API,但是不包含在上游的请求中。这个参数接收一个boolean的值。
    {
        "name": "my-api",
        "upstream_url": "http://my-api.com",
        "uris": ["/service"],
        "strip_uri": true
    }

    启用这个属性,当kong代理这个API时,在上游请求的url中将不包含匹配uri前缀。

    GET /service/path/to/resource HTTP/1.1
    Host:

    发送到上游服务时:(preserve_host默认为false,Host从upstream_url提取,strip_uri为true,则请求进来的url将跳过url对应的匹配,然后代理到上游服务器)

    GET /path/to/resource HTTP/1.1
    Host: my-api.com

    代理一个api通过它的request_path的值
    如果你想要配置你的apis,让kong路由进来的请求通过请求的uri。

    下面例子:INCOMING REQUEST表示请求kong的,UPSTREAM REQUEST像上游服务器请求的uri

    urisstrip_uriINCOMING REQUESTUPSTREAM REQUEST
    /mockbin false /some_path not proxied
    /mockbin false /mockbin /mockbin
    /mockbin false /mockbin/some_path /mockbin/some_path
    /mockbin true /some_path not proxied
    /mockbin true /mockbin /
    /mockbin true /mockbin/some_path /some_path
     
  • 相关阅读:
    SQL Server存储过程
    数据访问模式:数据并发控制(Data Concurrency Control)
    C#设计模式系列:观察者模式(Observer)
    awk内置字符串函数 awk 格式化输出
    使用MegaCli和Smartctl获取普通磁盘
    Shell之date用法
    linux 系统下查看raid信息,以及磁盘信息
    linux下proc里关于磁盘性能的参数
    hdparm测试硬盘性能
    查看现有运行的linux服务器有多少内存条
  • 原文地址:https://www.cnblogs.com/robinunix/p/11896527.html
Copyright © 2020-2023  润新知