Ingress-nginx中HTTPS的强制转发

文章目录

在使用aws 的NLB转发流量到ingress时,发现NLP上生成的转发配置不符合正常预期,如下图:

ingress-nginx service 配置如下:

bash 复制代码
apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "60"
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: xxxxxxxxxxxxx
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: https
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
  labels:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
    app.kubernetes.io/version: 1.10.1
  name: ingress-nginx-controller
  namespace: ingress-nginx
spec:
  allocateLoadBalancerNodePorts: true
  loadBalancerClass: service.k8s.aws/nlb
  ports:
  - appProtocol: http
    name: http
    nodePort: 30587
    port: 80
    protocol: TCP
    targetPort: tohttps # 2443 端口
  - appProtocol: https
    name: https
    nodePort: 31999
    port: 443
    protocol: TCP
    targetPort: http
  selector:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/name: ingress-nginx
  type: LoadBalancer

到这里可以看到 配置是没有问题的, 80端口的流量确实是指到了tohttp端口(2443),但这个端口又是什么端口呢。 为什么会有这样一个设定呢。

接下来查看ingress-nginx服务对于2443的设定,

bash 复制代码
        server {
                listen 2443;
                return 308 https://$host$request_uri;
        }

这里可以看出,对于2443端口,是强制对访问做了https跳转。

通过查看ingress-nginx官方文档,得到如下结果: "如果为该入口启用了 TLS,则控制器默认会将 (308) 重定向到 HTTPS"。

如何关闭呢。 参考:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#server-side-https-enforcement-through-redirect

相关推荐
vsropy1 小时前
Ubuntu网络图标消失问题/有网络问号
linux·运维·ubuntu
fofantasy1 小时前
NSK LH12AN 微型导轨技术手册
运维·网络·数据库·经验分享·规格说明书
coderwu1 小时前
Ubuntu 24.04 终端输入 openclaw config 提示未找到命令解决办法
linux·运维·ubuntu
dxxt_yy1 小时前
千兆光/电口+OTDR一体——成都鼎讯 SZT-1000A 千兆以太网测试仪助力风电能源光缆管理
运维·服务器·能源
AI帮小忙3 小时前
Debian系linux操作系统里安装OpenClaw
linux·运维·debian
极创信息3 小时前
Linux挖矿病毒深度清理实战教程,从进程隐藏、Rootkit驻留到彻底根除
java·大数据·linux·运维·安全·tomcat·健康医疗
志栋智能4 小时前
超自动化巡检剧本(Playbook):运维经验的数字化封装
运维·自动化
ElevenS_it1884 小时前
Nginx日志监控告警实战:access_log解析+5xx突增+慢请求+异常IP自动告警完整方案(Filebeat+Zabbix)
运维·网络·tcp/ip·nginx·zabbix
liulilittle5 小时前
Linux Swap 文件配置与持久化(虚拟内存)
linux·运维·服务器
未若君雅裁5 小时前
日志采集与ELK:从本地日志到集中检索分析
运维·elk·jenkins