Я определил службу Camel Rest DSL с помощью компонента udertow и указал виртуальный хост в файле jboss-web.xml, но служба всегда доступна через виртуальный хост по умолчанию.
Конфигурация Jboss Undertow:
<server name="default-server">
<ajp-listener name="ajp" socket-binding="ajp"/>
<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
<host name="default-host" alias="main.virtual.host">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
<http-invoker security-realm="ApplicationRealm"/>
</host>
<host name="externo" alias="another.virtual.host" default-web-module=" " disable-console-redirect="false">
<access-log prefix="externo"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
</host>
</server>
Определил оставшуюся конфигурацию DSL следующим образом:
<restConfiguration
apiContextPath="/MyServicreContextPath/api-docs"
bindingMode="json" component="undertow" contextPath="/API"
enableCORS="true" host="another.virtual.host"
port="{{http.port}}" >
<apiProperty key="cors" value="true"/>
<apiProperty key="api.title" value="Change Profile Service"/>
<apiProperty key="api.version" value="1.0.0"/>
</restConfiguration>
И определил jboss-web.xml следующим образом:
<jboss-web>
<server-instance>default-server</server-instance>
<virtual-host>externo</virtual-host>
</jboss-web>
Я ожидаю, что служба будет доступна только на определенном виртуальном хосте, но служба развернута на хосте по умолчанию. В журнале появляется следующее предупреждение:
ПРЕДУПРЕЖДЕНИЕ [org.wildfly.extension.camel] (поток службы MSC 1-2) Игнорирование настроенного хоста: http://another.virtual.host
Работа с Camel версии 2.21.0 Jboss Eap 7.1