ingress-nginx 和https service端口通信

Backend Protocol

Using backend-protocol annotations is possible to indicate how NGINX should communicate with the backend service. Valid Values: HTTP, HTTPS, GRPC, GRPCS and AJP

By default NGINX uses HTTP.

Example:

 

nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
### 配置使用 Kubernetes Ingress Controller #### 环境准备 为了成功部署并配置Kubernetes Ingress Controller,环境搭建至关重要。这通常涉及安装必要的工具服务,如Kubernetes集群本身以及Helm等辅助工具[^1]。 #### 安装 Nginx Ingress Controller 对于基于NginxIngress控制器而言,在官方文档或书籍中有详细的指导说明。通过命令行可以轻松完成安装过程: ```bash helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm install nginx-ingress ingress-nginx/ingress-nginx ``` 上述操作会下载最新的稳定版本,并将其部署至默认命名空间内[^2]。 #### 创建 Ingress 资源对象 定义好服务之后,下一步就是创建相应的`Ingress`资源文件来描述路由规则。下面是一个简单的例子用于HTTP流量转发给后端应用服务器: ```yaml apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: example-ingress spec: rules: - host: "foo.bar.com" http: paths: - path: / backend: serviceName: my-service-name servicePort: 80 ``` 此YAML片段指定了当接收到针对域名`foo.bar.com`下的任何路径请求时都将被导向名为`my-service-name`的服务实例上运行的应用程序监听于TCP端口80处。 #### SSL/TLS 支持与证书管理 安全通信是现代Web应用程序不可或缺的一部分;因此,支持HTTPS协议变得尤为重要。可以通过Secret资源存储SSL私钥及公钥证书,并关联到特定的Ingress规则上来实现加密传输功能[^4]。 ```yaml apiVersion: v1 kind: Secret metadata: name: tls-secret type: kubernetes.io/tls data: tls.crt: base64-encoded-cert tls.key: base64-encoded-key --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/ssl-certificate: tls-secret ... spec: tls: - hosts: - foo.bar.com secretName: tls-secret ``` 这段代码展示了如何利用预先存在的TLS密钥对为指定主机名提供HTTPS接入点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值