gpt4 book ai didi

kubernetes - 基于nginx-ingress上的HTTP header 值的速率限制请求

转载 作者:行者123 更新时间:2023-12-02 11:52:09 24 4
gpt4 key购买 nike

是否可以基于Nginx-ingress上的HTTP header 值对限制请求进行评分?

最佳答案

由于我没有来自nginxinc的kubernetes nginx入口,因此建议的解决方案在这里不起作用。

通过configmap和注释调整设法做到这一点。

配置图:

kind: ConfigMap
apiVersion: v1
metadata:
name: nginx-configuration
namespace: ingress-nginx
labels:
app: nginx-ingress
chart: nginx-ingress-1.33.0-dev
release: nginx-ingress
data:
http-snippet: |
limit_req_zone $http_authorization zone=my-zone:20m rate=5r/s;
limit_req_zone $binary_remote_addr zone=my-zone:20m rate=10r/s;
limit_req_zone $http_someheader zone=my-zone:20m rate=20r/s;

入口资源中的 批注:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/configuration-snippet: |
limit_req zone=my-zone-1 burst=10 nodelay;
limit_req_log_level notice;
limit_req_status 429;

注意:不允许将http-snippet用作注释!

对于一个入口定义的不同位置,具有不同节流的示例:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/server-snippet: |
location /content/images/ {
limit_req zone=my-zone-2 burst=50 nodelay;
}
location /content/texts/ {
limit_req zone=my-zone-3 burst=50 nodelay;
}
nginx.ingress.kubernetes.io/configuration-snippet: |
limit_req zone=my-zone-1 burst=10 nodelay;
limit_req_log_level notice;
limit_req_status 429;

请注意,在 服务器代码段批注中在此处定义位置不允许您在入口处进一步定义位置

关于kubernetes - 基于nginx-ingress上的HTTP header 值的速率限制请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55949837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com