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
| 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 |
2-kong的preserve_host和strip_uri解析的更多相关文章
- kong的preserve_host和strip_uri解析
preserve_host:当代理的时候,k代理时,Kong的默认行为是将上游请求的Host头设置为API的upstream_url属性的主机名.这个参数接受一个boolean值. 当为FALSE时, ...
- Kong配置参考
kong配置的官网说明:https://docs.konghq.com/1.0.x/configuration/ 1. 配置加载 如果您通过其中一个官方软件包安装了Kong,Kong会附带默认配置文件 ...
- 微服务Kong(六)——配置参考
1. 配置加载 如果您通过其中一个官方软件包安装了Kong,Kong会附带默认配置文件,该文件可以在/etc/kong/kong.conf.default中找到.要开始配置Kong,您可以复制此文件: ...
- kong更改日志格式
基于业务的需求,需要对网关层的日志进行适当定制,以满足使用kibana的制图. 对于kong的日志格式更改,可查看到的资料都过于繁琐,特此记录. 修改kong的日志格式 # ctl edit depl ...
- apigateway-kong(二)admin-api(结合实例比官网还详细)
部署好kong之后,则需要将我们自己的接口加入到kong中管理,kong提供了比较全面的restful api,每个版本会有所不同,下面的记录基于kong v0.13.x kong的8001端口是re ...
- apigateway-kong(七)配置说明
这一部分应该在最开始介绍,但是我觉得在对kong有一定了解后再回头看下配置,会理解的更深刻.接下来对这个配置文件里的参数做个详细的解释便于更好的使用或优化kong网关. 目录 一.配置加载 二.验证配 ...
- kong介绍-个人分享
kong简介 背景 我们在提供api或微服务时,通常借助openresty nginx进行流量转发或者添加一些规则或功能,但是随着服务数量和引用增多,复杂的网络环境, 使维护变得困难,不容易扩展,一些 ...
- Kong(V1.0.2) Securing the Admin API
Introduction Kong的Admin API为Services, Routes, Plugins, Consumers, and Credentials的管理和配置提供了一个RESTful接 ...
- 微服务Kong(八)——代理参考
Kong侦听四个端口的请求,默认情况是: 8000:此端口是Kong用来监听来自客户端的HTTP请求的,并将此请求转发到您的上游服务.这也是本教程中最主要用到的端口. 8443:此端口是Kong监听H ...
随机推荐
- 每次都能让人头大的 Shader -- 从一次简单的功能说起
最近有个功能, 要渲染从主相机视角看到的另一个相机的可视范围和不可见范围, 大概如下图 : 简单来说就是主相机视野和观察者相机视野重合的地方, 能标记出观察者相机的可见和不可见, 实现原理就跟 Sha ...
- 06webpack-- html-webpack-plugin的2个作用
<!-- 15 html-webpack-plugin的2个作用 下载 cnpm i html-webpack-plugin -D 作用在==>内存中生成页面 在webpack中 导入在内 ...
- 201871010128-杨丽霞《面向对象程序设计(java)》第七周学习总
201871010128-杨丽霞-<面向对象程序设计(java)>第七周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- LG5357 「模板」AC自动机(二次加强版) AC自动机+fail树
问题描述 LG5357 题解 不是fail树的AC自动机复杂度是假的. 把AC自动机搞出来,建立Trie树,树上爆搜一遍就好了. \(\mathrm{Code}\) #include<bits/ ...
- LG1155 「NOIP2008」双栈排序 二分图判定
问题描述 LG1155 题解 \(i,j\)如果不能进入一个栈,要满足存在\(k\),使得\(i<j<k\)且\(a_k<a_i<a_j\) 如果\(i,j\)不能进入一个栈, ...
- SAP_B1系统对象说明 SBO SAP Business One
- Linux DNS分离解析与构建智能DNS服务器
一 构建DNS分离解析 方法一 : [root@localhost ~]# vim /etc/named.conf [root@localhost ~]# cd /var/named/ [root@l ...
- CF1151F Sonya and Informatics(概率期望,DP,矩阵快速幂)
明明是水题结果没切掉……降智了…… 首先令 $c$ 为序列中 $0$ 的个数,那么排序后序列肯定是前面 $c$ 个 $0$,后面 $n-c$ 个 $1$. 那么就能上 DP 了.(居然卡在这里……) ...
- Web协议详解与抓包实战:HTTP1协议-内容协商是怎样进行的(8)
一.内容协商的两种方式 每个 URI 指向的资源可以是任何事物,可以有多种不同的表述,例如一份文档可以有不同语言的翻译.不同的媒体格式.可以针对不同的浏览器提供不同的压缩编码等 二.Proactive ...
- [LeetCode] 674. Longest Continuous Increasing Subsequence 最长连续递增序列
Given an unsorted array of integers, find the length of longest continuous increasing subsequence. E ...