Red Hat Training
A Red Hat training course is available for OpenShift Container Platform
5.7.10. 路由类型
路由可以被保护或不受保护。安全路由提供以下几种 TLS 终止功能来为客户端提供证书。路由器支持 edge, passthrough, and re-encryption 终止。
取消安全的路由对象 YAML 定义
apiVersion: v1
kind: Route
metadata:
name: route-unsecured
spec:
host: www.example.com
to:
kind: Service
name: service-name
无安全的路由是最简单的配置,因为它们不需要密钥或证书,但安全路由为保持私有的连接提供了安全性。
安全路由是指定路由的 TLS 终止的路由。下文介绍了可用的终止 类型。
5.7.10.1. 基于路径的路由
基于路径的路由指定一个路径组件,可以与 URL 进行比较(要求基于 HTTP 的流量),这样便可使用相同的主机名来提供多个路由,每个路由都有不同的路径。路由器应该匹配基于最具体路径的路由;但是,这取决于路由器的实施。主机名和路径被传递给后端服务器,以便它可以成功回答它们的请求。例如:访问路由器的 http://example.com/foo/ 的请求会导致 pod 看到对 http://example.com/foo/ 的请求。
下表显示了路由及其可访问性示例:
表 5.4. 路由可用性
| Route | 当比较到 | 可访问 |
|---|---|---|
| www.example.com/test | www.example.com/test | 是 |
| www.example.com | 否 | |
| www.example.com/test 和 www.example.com | www.example.com/test | 是 |
| www.example.com | 是 | |
| www.example.com | www.example.com/test | yes(由主机匹配,而不是路由) |
| www.example.com | 是 |
带有路径的未安全路由:
apiVersion: v1
kind: Route
metadata:
name: route-unsecured
spec:
host: www.example.com
path: "/test" 1
to:
kind: Service
name: service-name
- 1
- 该路径是基于路径的路由的唯一添加属性。
使用 passthrough TLS 时,基于路径的路由不可用,因为路由器不会在这种情况下终止 TLS,且无法读取请求的内容。