API网关工具Kong或nginx ingress实现对客户端IP的白名单限制,提高对外服务的访问安全-三、nginx ingress

时间:2024-04-16 07:07:08

通过注解(annotations)实现IP访问控制,您可以使用nginx.ingress.kubernetes.io/whitelist-source-range和nginx.ingress.kubernetes.io/block-source-range这两个注解类型。这些注解可以添加到Ingress资源中,以限制或允许特定的IP地址或IP地址范围访问您的服务。

  • 使用白名单(whitelist):
    通过nginx.ingress.kubernetes.io/whitelist-source-range注解,您可以指定一个或多个CIDR格式的IP地址范围,以允许这些范围内的IP地址访问您的服务。(注意:多个ip地址间逗号隔开)

在这里插入图片描述

完整的yaml文本示例:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/whitelist-source-range: '122.xx.xx.66,39.xx.xx.220'
  name: xxx
  namespace: xx-service
spec:
  ingressClassName: ack-nginx
  rules:
    - host: {你的外网域名}
      http:
        paths:
          - backend:
              service:
                name: {你的service服务名称}
                port:
                  number: {你的service服务端口号}
            path: /
            pathType: ImplementationSpecific

如果你的外网IP不在上面的白名单列表,则会报错403被禁止:
在这里插入图片描述