5.7.17. 在路由中拒绝或允许证书域


可以利用 ROUTER_DENIED_DOMAINSROUTER_ALLOWED_DOMAINS 环境变量,将路由器配置为拒绝或允许来自路由中的主机名的特定域子集。

ROUTER_DENIED_DOMAINS

任何指定路由中都不允许列出的域。

ROUTER_ALLOWED_DOMAINS

任何指定路由中只允许列出的域。

拒绝域列表中的域优先于允许的域列表。这意味着 OpenShift Container Platform 首先检查 deny 列表(如果适用),以及主机名不在被拒绝的域列表中,并检查允许的域列表。但是,允许的域列表更为严格,并确保路由器只接受含有属于该列表的主机的路由。

例如,要拒绝 myrouter 路由的 [*.]open.header.test, [*.]openshift.org[*.]block.it 路由,请运行以下命令:

$ oc adm router myrouter ...
$ oc set env dc/myrouter ROUTER_DENIED_DOMAINS="open.header.test, openshift.org, block.it"

这意味着 myrouter 会根据路由的名称接受以下内容:

$ oc expose service/<name> --hostname="foo.header.test"
$ oc expose service/<name> --hostname="www.allow.it"
$ oc expose service/<name> --hostname="www.openshift.test"

但是,myrouter 将拒绝以下内容:

$ oc expose service/<name> --hostname="open.header.test"
$ oc expose service/<name> --hostname="www.open.header.test"
$ oc expose service/<name> --hostname="block.it"
$ oc expose service/<name> --hostname="franco.baresi.block.it"
$ oc expose service/<name> --hostname="openshift.org"
$ oc expose service/<name> --hostname="api.openshift.org"

另外,要阻止任何主机名没有设置为 [*.]stickshift.org[*.]kates.net 的路由,请运行以下命令:

$ oc adm router myrouter ...
$ oc set env dc/myrouter ROUTER_ALLOWED_DOMAINS="stickshift.org, kates.net"

这意味着 myrouter 路由器将接受:

$ oc expose service/<name> --hostname="stickshift.org"
$ oc expose service/<name> --hostname="www.stickshift.org"
$ oc expose service/<name> --hostname="kates.net"
$ oc expose service/<name> --hostname="api.kates.net"
$ oc expose service/<name> --hostname="erno.r.kube.kates.net"

但是,myrouter 将拒绝以下内容:

$ oc expose service/<name> --hostname="www.open.header.test"
$ oc expose service/<name> --hostname="drive.ottomatic.org"
$ oc expose service/<name> --hostname="www.wayless.com"
$ oc expose service/<name> --hostname="www.deny.it"

要实现这两个情况,请运行以下命令:

$ oc adm router adrouter ...
$ oc set env dc/adrouter ROUTER_ALLOWED_DOMAINS="okd.io, kates.net" \
    ROUTER_DENIED_DOMAINS="ops.openshift.org, metrics.kates.net"

这将允许主机名设置为 [*.]openshift.org[*.]kates.net 的任何路由,且不允许主机名设置为 [*.]ops.openshift.org[*.metrics.kates.net 的任何路由。

因此,以下内容会被拒绝:

$ oc expose service/<name> --hostname="www.open.header.test"
$ oc expose service/<name> --hostname="ops.openshift.org"
$ oc expose service/<name> --hostname="log.ops.openshift.org"
$ oc expose service/<name> --hostname="www.block.it"
$ oc expose service/<name> --hostname="metrics.kates.net"
$ oc expose service/<name> --hostname="int.metrics.kates.net"

但是,允许以下内容:

$ oc expose service/<name> --hostname="openshift.org"
$ oc expose service/<name> --hostname="api.openshift.org"
$ oc expose service/<name> --hostname="m.api.openshift.org"
$ oc expose service/<name> --hostname="kates.net"
$ oc expose service/<name> --hostname="api.kates.net"
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.