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/testwww.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,且无法读取请求的内容。