5.7.17. 경로에서 특정 도메인 거부 또는 허용
ROUTER_DENIED_DOMAINS 및
환경 변수를 사용하여 경로의 호스트 이름에서 특정 도메인 하위 집합을 거부하거나 허용하도록 라우터를 구성할 수 있습니다.
ROUTER_ALLOWED_DOMAINS
| 나열된 도메인은 표시된 경로에 허용되지 않습니다. |
| 나열된 도메인만 표시된 경로에 허용됩니다. |
거부된 도메인 목록에 있는 도메인이 허용되는 도메인 목록보다 우선합니다. 즉, OpenShift Container Platform을 통해 거부 목록(해당되는 경우)을 먼저 확인하고 호스트 이름이 거부 도메인 목록에 없는 경우 허용된 도메인 목록을 확인합니다. 그러나 허용되는 도메인 목록은 더 제한적이며 라우터에서 해당 목록에 속하는 호스트의 경로만 허용합니다.
예를 들어 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"