Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

345
Visualizações
Cómo incluir en la lista blanca un puerto personalizado de entrada nginx

Tengo un ingreso de nginx en Kubernetes con una lista blanca (gestionada por una anotación nginx.ingress.kubernetes.io/whitelist-source-range ) y también una asignación de puerto personalizada (que expone un puerto 22 del servidor SFTP a través de --tcp-services-configmap mapa de configuración). La lista blanca funciona muy bien para 80 y 443, pero no funciona para 22. ¿Cómo incluyo en la lista blanca mi puerto personalizado?

La configuración se ve más o menos así:

 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-ingress-controller namespace: ingress-nginx labels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx spec: ... spec: serviceAccountName: nginx-ingress-serviceaccount containers: - name: nginx-ingress-controller image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.33.0 args: - /nginx-ingress-controller - --configmap=$(POD_NAMESPACE)/nginx-configuration - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services - --udp-services-configmap=$(POD_NAMESPACE)/udp-services - --publish-service=$(POD_NAMESPACE)/ingress-nginx - --annotations-prefix=nginx.ingress.kubernetes.io ports: - name: http containerPort: 80 - name: https containerPort: 443 - name: sftp containerPort: 22 ... kind: Ingress metadata: name: {{ .controllerName }} annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/whitelist-source-range: {{ .ipAllowList }} kind: ConfigMap apiVersion: v1 metadata: name: tcp-services namespace: ingress-nginx labels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx data: 22: "default/sftp:22"

ACTUALIZAR

Gracias a @jordanm, descubrí que puedo restringir las direcciones IP para todos los puertos a través de loadBalancerSourceRanges en LoadBalancer en lugar de nginx:

 kind: Service apiVersion: v1 metadata: name: ingress-nginx namespace: ingress-nginx labels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx spec: externalTrafficPolicy: Local type: LoadBalancer loadBalancerIP: {{ .loadBalancerIp }} selector: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx ports: - name: http port: 80 targetPort: http - name: https port: 443 targetPort: https - name: sftp port: 22 targetPort: sftp loadBalancerSourceRanges: {{ .ipAllowList }}
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

En primer lugar, eche un vistazo a este problema: ip-whitelist-support .

Las IP no están en la lista blanca para los servicios TCP, una alternativa sería crear un firewall separado para los servicios TCP y agregar las IP en la lista blanca a nivel del firewall.

Para la ubicación específica {{ $path }} hemos definido {{ if isLocationAllowed $location }} .

Consulte la documentación oficial de Ingress: ingress-kubernetes .

Ingress expone las rutas HTTP y HTTPS desde fuera del clúster a los servicios dentro del clúster. El enrutamiento del tráfico está controlado por reglas definidas en el recurso Ingress.

Un Ingress no expone puertos o protocolos arbitrarios. La exposición de servicios distintos de HTTP y HTTPS a Internet suele utilizar un servicio de tipo Service.Type=NodePort o Service.Type=LoadBalancer.

Debe tener un controlador de Ingress para satisfacer un Ingress. Solo crear un recurso de Ingress no tiene efecto.

En este caso, el controlador de ingreso del instrumento de recursos de Ingress cómo manejar las solicitudes http/https. En este enfoque, el controlador nginx-ingress como software (introducir funcionalidad de nivel 7/equilibrio de carga).

Si está interesado en la compatibilidad con nginx ingress tcp:

Ingress no admite servicios TCP o UDP. Por esta razón, este controlador de Ingress usa las banderas --tcp-services-configmap y --udp-services-configmap

Ver: exponer-tcp-udp-servicios

Si desea verificar una configuración más granular mientras trabaja con su servicio tcp, debe considerar usar la configuración de firewall/equilibrio de carga L4 proporcionada por su proveedor de nube.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda