我设置了由领事群集支持的保管库。我用https保护它,并试图在单独的计算机上使用cli来获取和设置kv引擎中的秘密。我正在使用CLI和Vault服务器的1.0.2版本。
我已经使用根令牌登录,因此我应该可以访问所有内容。我还正确设置了VAULT_ADDR。
这是我的要求:
vault kv put secret/my-secret my-value=yea
这是响应:
Error making API request.
URL: GET https://{my-vault-address}/v1/sys/internal/ui/mounts/secret/my-secret
Code: 403. Errors:
* preflight capability check returned 403, please ensure client's policies grant access to path "secret/my-secret/"
Run Code Online (Sandbox Code Playgroud)
我不明白这里发生了什么。我能够从Vault ui设置和读取kv引擎中的机密。我想念什么?
TLDR:我正在使用 AKS 运行 kubernetes 集群。我创建了一个外部名称服务来代理外部地址。我想在请求中添加“主机”标头。我该怎么做呢?
对于更多上下文,我有一个入口控制器来处理所有传入流量。我想将该流量的子集(基于路由)路由到外部 Azure Function。我已经使用我的 Azure Function 的主机名设置了一个ExternalName 服务,并将流量路由到它。但是,由于 Microsoft 处理路由到其功能的方式,标头中需要具有正确 FQDN 的“主机”值。
我不想让发送原始请求的人将其包含在标头中,因此我想在流量代理到 Azure 函数时代表他们添加它。
这是我的服务文件:
kind: Service
apiVersion: v1
metadata:
name: azure-function-proxy-service
labels:
app: proxy-service
spec:
type: ExternalName
externalName: azure-function.azurewebsites.net
Run Code Online (Sandbox Code Playgroud)
以及相关的入口规则代码:
- host: hostto.proxy.net
http:
paths:
- path: /route/to/proxy
backend:
serviceName: azure-function-proxy-service
servicePort: 80
Run Code Online (Sandbox Code Playgroud)