1

我使用 udtow 组件定义了一个骆驼休息 DSL 服务,并在 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>

定义了一个rest 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>

我希望该服务只能在定义的虚拟主机中访问,但该服务被部署到默认的 undertow 主机。日志中出现以下警告:

WARN [org.wildfly.extension.camel](MSC 服务线程 1-2)忽略配置的主机:http://another.virtual.host

使用 Camel 版本 2.21.0 Jboss Eap 7.1

4

1 回答 1

0

目前,Undertow 消费者只能在默认主机上使用。我提出了一个问题,看看是否可以支持其他主机配置。

https://github.com/wildfly-extras/wildfly-camel/issues/2864

于 2019-08-09T06:26:38.773 回答