You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用NGINX Ingress控制器路由非443端口运行SSL的应用

解决方案

该需求完全可以实现,之前配置不生效主要是Ingress语法错误、缺少必要配置导致的,按以下步骤调整即可。

第一步:先创建对应Service(当前缺失的配置)

你目前仅提供了Deployment配置,需要先创建Service关联Deployment的3000端口,配置如下:

apiVersion: v1
kind: Service
metadata:
  name: foo
spec:
  selector:
    app: foo
  ports:
    - protocol: TCP
      port: 3000
      targetPort: 3000

场景1:Ingress侧完成SSL卸载(最常用)

该场景下后端应用无需配置SSL,所有HTTPS加解密由Ingress控制器完成,再以普通HTTP请求转发到后端3000端口,配置步骤:

  1. 先将域名foo.com的SSL证书保存为K8s Secret:
    执行命令:
    kubectl create secret tls foo-com-tls --cert=你的证书文件路径 --key=你的私钥文件路径
  2. 修正Ingress配置,原有配置的API版本已废弃、规则层级配置错误,正确配置如下:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: foo-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  tls:
  - hosts:
    - foo.com
    secretName: foo-com-tls # 关联刚才创建的SSL证书Secret
  rules:
  - host: foo.com
    http: # 注意http是当前host规则下的子字段,不要单独作为另一条规则
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: foo
            port:
              number: 3000

配置完成后直接用https://foo.com访问即可,Ingress默认监听443端口处理HTTPS请求,和后端应用使用3000端口没有冲突。

场景2:后端应用本身已启用SSL,需要透传HTTPS到后端3000端口

如果不需要Ingress做SSL卸载,后端应用本身已经配置了SSL证书监听3000端口,需要Ingress直接透传HTTPS请求,修改Ingress配置添加对应注解即可:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: foo-ingress
  annotations:
    nginx.ingress.kubernetes.io/ssl-passthrough: "true" # 开启SSL透传
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" # 声明后端协议为HTTPS
spec:
  tls:
  - hosts:
    - foo.com
    secretName: foo-com-tls
  rules:
  - host: foo.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: foo
            port:
              number: 3000

注意:SSL透传功能需要你的NGINX Ingress控制器启动时添加了--enable-ssl-passthrough参数,否则该注解不会生效

内容的提问来源于stack exchange,提问作者risail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 08:30:00