2-kong的preserve_host和strip_uri解析
2024-09-07 06:31:51
原文参考: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
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 |
最新文章
- iOS 字符串删除 DOM
- 告别IT,出售多年自己研发的股票分析系统源码
- hdu5438 Ponds dfs 2015changchun网络赛
- MySQL高可用之MHA搭建
- power designer 连接数据库提示“connection test failed”
- [分享] Code::Blocks Windows Console 中文亂碼解決
- 【HDOJ】3345 War Chess
- 蓝桥杯 密码脱落 LCS
- kali系统教程:创建热点
- POJ Ikki's Story IV - Panda's Trick [2-SAT]
- uploadify在火狐下上传不了的解决方案,java版(Spring+SpringMVC+MyBatis)详细解决方案
- centos7 修改ip和dns
- day 7-8 协程
- Element UI 中组件this.$message报错
- Win10系列:C#应用控件基础21
- D- 泛型练习 ,继承,方法
- 怎样找到微信小程序功能呢?
- linux命令学习之:wc
- 无耻之徒(美版)第一季/全集Shameless US迅雷下载
- jQuery对象合并、jQuery添加静态方法、jQuery添加DOM实例方法
热门文章
- 8. [mmc subsystem] host(第二章)——sdhci
- linux 线程基础
- 笔记6:Django基础
- 错误: 找不到或无法加载主类 com.leyou.LeyouItemApplication Process finished with exit code 1
- selenium 2定位方式实例
- YAML文件格式简介
- AE cc 2019 下载链接
- USACO Dueling GPS's
- [LeetCode] 493. Reverse Pairs 翻转对
- 申请Github学生包(用学生证就行,免教育邮箱)