zoukankan      html  css  js  c++  java
  • 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
     
  • 相关阅读:
    identityser4 samesit 问题
    mysql 8 root密码重置
    OutSystems学习笔记。
    获取两个List中的不同元素,4种方法,逐步优化,学习使用
    java 配置在.properties文件中的常量
    java POST 传值 加签 验证
    springboot jpa 多条件查询(多表)
    java代码行数统计工具类
    Map集合遍历的4种方法
    springboot jpa 多条件查询(单表)
  • 原文地址:https://www.cnblogs.com/robinunix/p/11896527.html
Copyright © 2011-2022 走看看