- 文档首页
容器服务
容器服务 VKE
用户指南
网络
路由(Ingress)
Nginx Ingress
Nginx Ingress 配置 HTTPS 协议
Nginx Ingress
Nginx Ingress 配置 HTTPS 协议
Nginx Ingress 配置 HTTPS 协议
为保证公网环境下的通信安全,业务使用 Ingress 暴露到公网时,通常使用 HTTPS 协议通信。本文为您介绍如何配置 HTTPS 协议的 Nignx Ingress。
前提条件
- 已在火山引擎 SSL 证书服务 购买或使用 OpenSSL 创建 SSL 证书和密钥。
操作步骤
步骤一:配置保密字典
- 已获取 SSL 证书和密钥,本文以tls.key和tls.crt为例。
- 执行以下命令,创建名称为 ingress-secret,类型为kubernetes.io/tls的保密字典。
步骤二:部署应用和服务
- 创建工作负载的 YAML 文件。示例文件deployment-demo.yaml代码如下:
- 创建服务的 YAML 文件。示例文件service-demo.yaml代码如下:
注意
- 当集群的容器网络模型为 Flannel 时,仅支持关联和选择 NodePort、LoadBalancer 类型的服务。
- 若 Ingress 开启了 直通 Pod 模式,则支持关联和选择 NodePort、LoadBalancer、ClusterIP 类型的服务。
- 若 Ingress 未开启 直通 Pod 模式,则仅支持关联和选择 NodePort、LoadBalancer 类型的服务。
步骤三:配置 Nginx Ingress
- 创建 Ingress 的 YAML 文件。示例文件nginx-ingress.yaml代码如下:
说明
- 您需要自主保障在公网环境下,自定义域名和 ingress 负载均衡 EIP 的 DNS 解析关系。
- 当选择 HTTPS 协议时,系统默认会同时开放 80 端口和 443 端口。为保证数据安全,建议配置 80 端口重定向,即将 HTTP 重定向到 HTTPS,详情请参见 Nginx Ingress 配置重定向规则。
结果验证
查看配置
执行以下命令,查看 ingress 配置。
预期返回结果如下,表示 Ingress 创建成功。其中180.xxx.xxx.xxx为 Nginx Ingress 对应 CLB 的公网或私网 IP 地址。
访问服务
使用以下命令,通过域名访问服务。
注意
- 当您使用自签名证书时,可以使用-k或--insecure参数忽略证书的验证。
- 在生产环境中使用 TLS 证书时,建议您使用官方可信证书。使用自签名证书且忽略证书验证,可能导致您受到中间人攻击。
预期输出如下,表示可以通过域名访问到后端服务。
运维配置
如何使用 OpenSSL 创建自签名证书
- 执行以下命令,生成 4096 位的 RSA 私钥。
- 预期结果如下,需要填写证书的相关信息,包括:国家、地区、组织名称、域名、电子邮件地址等。
- 执行以下命令,使用私钥对证书进行签名,有效期配置为 365 天。
- 至此,完成创建 HTTPS 加密所需的私钥tls.key和证书tls.crt。
如何更换 HTTPS 证书
当需要更换 Nginx Ingress 的 HTTPS 证书时,需要遵循以下操作步骤:
- 在集群列表页面,单击目标集群名称,进入集群管理页面。
- 在左侧导航栏中,选择 服务与路由 > 路由规则,在路由规则中选择需要更新 HTTPS 证书的 Ingress 规则,在右侧 操作 列中选择 更新。
-
- 在 监听配置 处,单击 创建密钥,创建新的密钥。
-
- 创建并上传新的证书和密钥,单击 确定,完成路由规则更新。
-
- 单击路由规则名称,在路由规则详情页中,选择 事件 页签,可以查看路由规则的调谐成功事件。
-
最近更新时间:2026.04.07 14:29:43