zoukankan      html  css  js  c++  java
  • kong的preserve_host和strip_uri解析

    • 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

    uris strip_uri INCOMING REQUEST UPSTREAM 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
  • 相关阅读:
    Burp Suite Professional单文件精简版该如何使用?
    快速掌握WinDBG
    Baymax大白补丁打油诗
    学员达标后完成的作业
    5星命名法:掌握这个软件全省
    挖掘IDA不可缺少的插件
    JEB安装和使用视频教程系列
    Ollydbg/x32dbg/x64dbg堆栈回溯要点总结
    Ollydbg狩猎从入门到精通
    Ollydbg/x32dbg爆破与逆向八法
  • 原文地址:https://www.cnblogs.com/mentalidade/p/6847004.html
Copyright © 2011-2022 走看看