Hello

czw., 3 wrz 2020 o 09:10 Gerald Kallas <catsh...@mailbox.org> napisał(a):

> Thanks Grzegorz.
>
> Yes, I did found the same in between and changed the undertow.xml. Finally
> it works and undertow pax web seems a bit more flexible than jetty. Would
> it be a further part of Pax Web 8 and Karaf as well?
>

Pax Web 8 will have many improvements (for pax-web-undertow,
io.undertow.Undertow one-size-fits-all class won't be used - I explicitly
create/configure listeners/connectors/buffers almost exactly like Wildfly
does it) and the emphasis is on making the experience similar when using
Jetty, Undertow and Tomcat.

regards
Grzegorz


>
> Best
> - Gerald
>
> > Grzegorz Grzybek <gr.grzy...@gmail.com> hat am 03.09.2020 08:29
> geschrieben:
> >
> >
> > Hello
> >
> > Sorry for late response (holidays!), but I tried your example with tiny
> > (not relevant) details.
> >
> > I used Karaf 4.2.9, but Camel 2.23.2. So I used
> > "org.apache.camel.component.servlet.osgi.OsgiServletRegisterer" instead
> of
> > "org.apache.camel.component.osgi.OsgiServletRegisterer", but no more
> > changes to blueprint.xml or etc/org.ops4j.pax.web.cfg.
> >
> > However, I had ONE problem with TLS connection:
> >
> > $ curl -k -v https://localhost:8443/camel/services/hello1
> > *   Trying ::1:8443...
> > * Connected to localhost (::1) port 8443 (#0)
> > * ALPN, offering h2
> > * ALPN, offering http/1.1
> > * successfully set certificate verify locations:
> > *   CAfile: /etc/pki/tls/certs/ca-bundle.crt
> >   CApath: none
> > * TLSv1.3 (OUT), TLS handshake, Client hello (1):
> > * OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:8443
> > * Closing connection 0
> > curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to
> > localhost:8443
> >
> > I think (and I'll review it at some point in Pax Web itself) it's the
> > mismatch between "enabled-protocols" and "enabled-cipher-suites" in
> > undertow.xml. Please remove:
> >
> > enabled-cipher-suites="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
> > TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
> >
> > and it should work (note that change to undertow.xml WON'T automatically
> > restart relevant bundles).
> >
> > $ curl -k -v https://localhost:8443/camel/services/hello1
> > *   Trying ::1:8443...
> > * Connected to localhost (::1) port 8443 (#0)
> > * ALPN, offering h2
> > * ALPN, offering http/1.1
> > * successfully set certificate verify locations:
> > *   CAfile: /etc/pki/tls/certs/ca-bundle.crt
> >   CApath: none
> > * TLSv1.3 (OUT), TLS handshake, Client hello (1):
> > * TLSv1.3 (IN), TLS handshake, Server hello (2):
> > * TLSv1.2 (IN), TLS handshake, Certificate (11):
> > * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
> > * TLSv1.2 (IN), TLS handshake, Server finished (14):
> > * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
> > * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
> > * TLSv1.2 (OUT), TLS handshake, Finished (20):
> > * TLSv1.2 (IN), TLS handshake, Finished (20):
> > * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
> > * ALPN, server did not agree to a protocol
> > * Server certificate:
> > *  subject: C=PL; ST=Dolny Śląsk; L=Wrocław; O=Red Hat; CN=localhost;
> > emailAddress=ggrzy...@redhat.com
> > *  start date: Aug 17 11:14:46 2017 GMT
> > *  expire date: Aug 17 11:14:46 2027 GMT
> > *  issuer: C=PL; ST=Dolny Śląsk; L=Wrocław; O=Red Hat; CN=everfree-ca;
> > emailAddress=ggrzy...@redhat.com
> > *  SSL certificate verify result: unable to get local issuer certificate
> > (20), continuing anyway.
> > > GET /camel/services/hello1 HTTP/1.1
> > > Host: localhost:8443
> > > User-Agent: curl/7.69.1
> > > Accept: */*
> > >
> > * Mark bundle as not supporting multiuse
> > < HTTP/1.1 200 OK
> > < Accept: */*
> > < Connection: keep-alive
> > < X-Powered-By: Pax-HTTP-Undertow/7.2.16
> > < breadcrumbId: ID-everfree-forest-1599112295273-1-1
> > < Server: Pax-HTTP-Undertow
> > < Transfer-Encoding: chunked
> > < User-Agent: curl/7.69.1
> > < Date: Thu, 03 Sep 2020 05:59:31 GMT
> > <
> > * Connection #0 to host localhost left intact
> > Hello 1
> >
> > kind regards
> > Grzegorz Grzybek
> >
> > pt., 7 sie 2020 o 11:53 Gerald Kallas <catsh...@mailbox.org> napisał(a):
> >
> > > Hi,
> > >
> > > I tried this out but it doesnt work properly. (keystore and truststore
> are
> > > the same as with jetty setuo, they're valid).
> > >
> > > See below my configuration and the log. The HTTPS listener starts but
> > > neither the webconsole nor the servlet does work.
> > >
> > > On client side I'm getting
> > >
> > > Error: Client network socket disconnected before secure TLS connection
> was
> > > established
> > >
> > >
> > > undertow.xml
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <!--
> > >    Licensed under the Apache License, Version 2.0 (the "License");
> > >    you may not use this file except in compliance with the License.
> > >    You may obtain a copy of the License at
> > >
> > >    http://www.apache.org/licenses/LICENSE-2.0
> > >
> > >    Unless required by applicable law or agreed to in writing, software
> > >    distributed under the License is distributed on an "AS IS" BASIS,
> > >    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > >    implied.
> > >
> > >    See the License for the specific language governing permissions and
> > >    limitations under the License.
> > > -->
> > > <undertow xmlns="urn:org.ops4j.pax.web:undertow:1.0"
> > >         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > >         xmlns:w="urn:jboss:domain:5.0"
> > >         xmlns:io="urn:jboss:domain:io:3.0"
> > >         xsi:schemaLocation="
> > >             urn:jboss:domain:io:3.0
> > > http://www.jboss.org/schema/jbossas/wildfly-io_3_0.xsd
> > >             urn:jboss:domain:undertow:4.0
> > > http://www.jboss.org/schema/jbossas/wildfly-undertow_4_0.xsd
> > >             urn:jboss:domain:5.0
> > > http://www.jboss.org/schema/jbossas/wildfly-config_5_0.xsd";>
> > >
> > >     <!--
> > >         Only "default" worker and buffer-pool are supported and can be
> > > used to override the default values
> > >         used by all listeners
> > >
> > >         buffer-pool:
> > >          - buffer-size defaults to:
> > >             - when < 64MB of Xmx: 512
> > >             - when < 128MB of Xmx: 1024
> > >             - when >= 128MB of Xmx: 16K - 20
> > >          - direct-buffers defaults to:
> > >             - when < 64MB of Xmx: false
> > >             - when >= 64MB of Xmx: true
> > >
> > >         worker:
> > >          - io-threads defaults to
> > > Math.max(Runtime.getRuntime().availableProcessors(), 2);
> > >          - task-core-threads and task-max-threads default to
> io-threads * 8
> > >     -->
> > >     <!--
> > >     <subsystem xmlns="urn:jboss:domain:io:3.0">
> > >         <buffer-pool name="default" buffer-size="16364"
> > > direct-buffers="true" />
> > >         <worker name="default" io-threads="8" task-core-threads="64"
> > > task-max-threads="64" />
> > >     </subsystem>
> > >     -->
> > >
> > >     <!--
> > >
> https://docs.jboss.org/author/display/WFLY/Undertow+subsystem+configuration
> > > -->
> > >     <subsystem xmlns="urn:jboss:domain:undertow:4.0">
> > >         <!-- org.wildfly.extension.undertow.BufferCacheDefinition -->
> > >         <buffer-cache name="default" buffer-size="1024"
> > > buffers-per-region="1024" max-regions="10" />
> > >         <server name="default-server">
> > >             <!-- HTTP(S) Listener references Socket Binding (and
> > > indirectly - Interfaces) -->
> > >             <!-- verify-client:
> org.xnio.SslClientAuthMode.NOT_REQUESTED,
> > > org.xnio.SslClientAuthMode.REQUESTED,
> org.xnio.SslClientAuthMode.REQUIRED
> > > -->
> > >             <https-listener name="https" socket-binding="https"
> > >                     security-realm="https"
> verify-client="NOT_REQUESTED" />
> > >             <host name="default-host" alias="localhost">
> > >                 <!--<location name="/" handler="welcome-content" />-->
> > >                 <!--<location name="/docs" handler="docs-content" />-->
> > >                 <access-log directory="${karaf.data}/log"
> pattern="common"
> > > prefix="access_log." suffix="log" rotate="true" />
> > >                 <filter-ref name="server-header" />
> > >                 <filter-ref name="x-powered-by-header" />
> > >             </host>
> > >         </server>
> > >         <servlet-container name="default">
> > >             <jsp-config />
> > >             <websockets />
> > >             <welcome-files>
> > >                 <welcome-file name="index.html" />
> > >                 <welcome-file name="index.txt" />
> > >             </welcome-files>
> > >         </servlet-container>
> > >         <handlers>
> > >             <file name="welcome-content" path="${karaf.home}/welcome"
> />
> > >             <!--<file name="docs-content" path="${karaf.home}/docs"
> />-->
> > >         </handlers>
> > >         <filters>
> > >             <!-- filters for reference from /host/filter-ref and
> > > /host/location/filter-ref -->
> > >             <response-header name="server-header" header-name="Server"
> > > header-value="Pax-HTTP-Undertow" />
> > >             <response-header name="x-powered-by-header"
> > > header-name="X-Powered-By" header-value="Pax-HTTP-Undertow/7.2.16" />
> > >         </filters>
> > >     </subsystem>
> > >
> > >     <!-- https://docs.jboss.org/author/display/WFLY/Security+Realms
> -->
> > >     <!--
> > >         we'll use "default" security realm by default to configure
> > > jaas/properties authentication
> > >         (io.undertow.security.idm.IdentityManager):
> > >          - w:jaas -
> > >
> org.ops4j.pax.web.service.undertow.internal.security.JaasIdentityManager
> > >          - w:properties -
> > >
> org.ops4j.pax.web.service.undertow.internal.security.PropertiesIdentityManager
> > >     -->
> > >     <security-realm name="default">
> > >         <w:authentication>
> > >             <!-- JaasIdentityManager for given realm -->
> > >             <w:jaas name="karaf" />
> > >             <!-- OR PropertiesIdentityManager (mutually exclusive with
> > > <w:jaas>) -->
> > >             <!--<w:properties path="users.properties" />-->
> > >         </w:authentication>
> > >
> > >
> <user-principal-class-name>org.apache.karaf.jaas.boot.principal.UserPrincipal</user-principal-class-name>
> > >
> > >
> <role-principal-class-name>org.apache.karaf.jaas.boot.principal.RolePrincipal</role-principal-class-name>
> > >
>  <!--<role-principal-class-name>...</role-principal-class-name>-->
> > >     </security-realm>
> > >     <!--
> > >         Any security realm may be referenced by https-listener to
> define
> > > trust/keystore, protocols and cipher suites
> > >     -->
> > >     <security-realm name="https">
> > >         <w:server-identities>
> > >             <w:ssl>
> > >                 <!-- sun.security.ssl.ProtocolVersion -->
> > >                 <!-- sun.security.ssl.CipherSuite -->
> > >                 <!-- openssl ciphers 'ALL:eNULL' | sed -e 's/:/\n/g' |
> > > sort -->
> > >                 <w:engine
> > >
> > > enabled-cipher-suites="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
> > > TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
> > >                         enabled-protocols="TLSv1 TLSv1.1 TLSv1.2" />
> > >                 <w:keystore path="${karaf.etc}/server.p12"
> > > provider="PKCS12" alias="server"
> > >                         keystore-password="password"
> > > key-password="password"
> > >
>  generate-self-signed-certificate-host="localhost"
> > > />
> > >             </w:ssl>
> > >         </w:server-identities>
> > >         <w:authentication>
> > >             <w:jaas name="karaf" />
> > >             <w:truststore path="${karaf.etc}/truststore.jks"
> > > provider="JKS" keystore-password="password" />
> > >         </w:authentication>
> > >
> > >
> <user-principal-class-name>org.apache.karaf.jaas.boot.principal.UserPrincipal</user-principal-class-name>
> > >
> > >
> <role-principal-class-name>org.apache.karaf.jaas.boot.principal.RolePrincipal</role-principal-class-name>
> > >     </security-realm>
> > >
> > >     <!-- Interface lists IP addresses to bind to -->
> > >     <interface name="secure">
> > >         <w:inet-address value="0.0.0.0" />
> > >     </interface>
> > >
> > >     <!-- Socket Binding adds port for each IP from referenced
> Interface -->
> > >     <socket-binding name="https" interface="secure"
> > > port="${org.osgi.service.http.port.secure}" />
> > >
> > > </undertow>
> > >
> > >
> > > org.ops4j.pax.web.cfg
> > >
> > >
> > > org.osgi.service.http.enabled=false
> > >
> > > org.osgi.service.http.secure.enabled=true
> > > org.osgi.service.http.port.secure=8443
> > >
> > > javax.servlet.context.tempdir=${karaf.data}/pax-web-jsp
> > > #org.ops4j.pax.web.config.file=${karaf.etc}/undertow.properties
> > > org.ops4j.pax.web.config.file=${karaf.etc}/undertow.xml
> > > org.apache.karaf.features.configKey = org.ops4j.pax.web
> > >
> > >
> > > servlet (hello1.xml)
> > >
> > > <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
> > >            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > >            xsi:schemaLocation="
> http://www.osgi.org/xmlns/blueprint/v1.0.0
> > >            https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd";>
> > >
> > >         <reference id="httpService"
> > > interface="org.osgi.service.http.HttpService" />
> > >
> > >         <bean id="camelServlet"
> > > class="org.apache.camel.component.servlet.CamelHttpTransportServlet"/>
> > >
> > >         <bean
> class="org.apache.camel.component.osgi.OsgiServletRegisterer"
> > >          init-method="register"
> > >          destroy-method="unregister">
> > >                 <property name="servletName" value="httpServlet" />
> > >                 <property name="alias" value="/camel/services" />
> > >                 <property name="httpService" ref="httpService" />
> > >                 <property name="servlet" ref="camelServlet" />
> > >         </bean>
> > >
> > >         <bean id="servlet"
> > > class="org.apache.camel.component.servlet.ServletComponent" />
> > >
> > >         <camelContext xmlns="http://camel.apache.org/schema/blueprint
> ">
> > >                 <route>
> > >                         <from
> > > uri="servlet://hello1?servletName=httpServlet" />
> > >                         <setBody>
> > >                                 <constant>Hello 1</constant>
> > >                         </setBody>
> > >                 </route>
> > >         </camelContext>
> > >
> > > </blueprint>
> > >
> > >
> > > log excerpt
> > >
> > > 2020-08-07T11:47:29,596 | INFO  | paxweb-config-1-thread-1 |
> > > ServerControllerImpl             | 63 -
> org.ops4j.pax.web.pax-web-undertow
> > > - 7.2.16 | Using
> > > "file:/E:/apache-karaf/apache-karaf-4.2.9/etc/undertow.xml" to
> configure
> > > Undertow
> > > 2020-08-07T11:47:29,848 | INFO  | paxweb-config-1-thread-1 |
> > > ServerControllerImpl             | 63 -
> org.ops4j.pax.web.pax-web-undertow
> > > - 7.2.16 | Starting undertow https listener on 0.0.0.0:8443
> > > 2020-08-07T11:47:29,985 | INFO  | FelixStartLevel  |
> > > BlueprintContainerImpl           | 69 -
> org.apache.aries.blueprint.core -
> > > 1.10.2 | Blueprint bundle hello1.xml/0.0.0 is waiting for dependencies
> > > [(objectClass=org.osgi.service.http.HttpService)]
> > > 2020-08-07T11:47:29,987 | INFO  | activator-1-thread-2 |
> > > BouncyCastleSecurityProviderRegistrar | 38 - org.apache.sshd.core -
> 1.7.0 |
> > > getOrCreateProvider(BC) created instance of
> > > org.bouncycastle.jce.provider.BouncyCastleProvider
> > > 2020-08-07T11:47:30,286 | INFO  | activator-1-thread-2 |
> CommandExtension
> > >                | 34 - org.apache.karaf.shell.core - 4.2.9 | Registering
> > > commands for bundle org.apache.karaf.features.command/4.2.9
> > > 2020-08-07T11:47:30,446 | INFO  | activator-1-thread-3 |
> CommandExtension
> > >                | 34 - org.apache.karaf.shell.core - 4.2.9 | Registering
> > > commands for bundle org.apache.karaf.kar.core/4.2.9
> > > 2020-08-07T11:47:30,487 | INFO  | activator-1-thread-2 | Activator
> > >                 | 18 - org.apache.karaf.deployer.features - 4.2.9 |
> > > Deployment finished. Registering FeatureDeploymentListener
> > > 2020-08-07T11:47:30,543 | INFO  | activator-1-thread-2 | FeaturesPlugin
> > >                | 140 - org.apache.karaf.webconsole.features - 4.2.9 |
> > > Features plugin deactivated
> > > 2020-08-07T11:47:30,544 | INFO  | activator-1-thread-2 | FeaturesPlugin
> > >                | 140 - org.apache.karaf.webconsole.features - 4.2.9 |
> > > Features plugin activated
> > > 2020-08-07T11:47:30,839 | INFO  | paxweb-config-1-thread-1 |
> > > ServerControllerImpl             | 63 -
> org.ops4j.pax.web.pax-web-undertow
> > > - 7.2.16 | Using in-memory session persistence
> > > 2020-08-07T11:47:30,864 | INFO  | paxweb-config-1-thread-1 |
> > > HttpServiceFactoryImpl           | 61 -
> org.ops4j.pax.web.pax-web-runtime -
> > > 7.2.16 | Binding bundle: [org.apache.karaf.webconsole.console [139]] to
> > > http service
> > > 2020-08-07T11:47:31,000 | INFO  | paxweb-config-1-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > registering context DefaultHttpContext
> > > [bundle=org.apache.karaf.webconsole.console [139], contextID=custom],
> with
> > > context path: /
> > > 2020-08-07T11:47:31,011 | INFO  | paxweb-config-1-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Starting context /
> > > 2020-08-07T11:47:31,013 | WARN  | paxweb-config-1-thread-1 |
> PathMatcher
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Overwriting existing default context
> > > io.undertow.server.handlers.PathHandler@382344b0 with a new one
> > > org.ops4j.pax.web.service.undertow.internal.Context@8c1553c
> > > 2020-08-07T11:47:31,034 | INFO  | paxweb-config-1-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Adding implicit "default" servlet
> > > 2020-08-07T11:47:31,047 | INFO  | paxweb-config-1-thread-1 |
> > > ServletContainerInitializerScanner | 60 -
> org.ops4j.pax.web.pax-web-api -
> > > 7.2.16 | will add io.undertow.servlet.sse.ServerSentEventSCI to
> > > ServletContainerInitializers
> > > 2020-08-07T11:47:31,048 | WARN  | paxweb-config-1-thread-1 |
> > > ServletContainerInitializerScanner | 60 -
> org.ops4j.pax.web.pax-web-api -
> > > 7.2.16 | failed to parse and instantiate of
> > > javax.servlet.ServletContainerInitializer in classpath
> > > 2020-08-07T11:47:31,070 | INFO  | paxweb-config-1-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Creating undertow servlet deployment for context path /...
> > > 2020-08-07T11:47:31,224 | INFO  | paxweb-config-1-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Creating undertow servlet deployment for context path / - done
> > > 2020-08-07T11:47:31,225 | INFO  | paxweb-config-1-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Registering io.undertow.servlet.spec.ServletContextImpl@e72855b as
> OSGi
> > > service...
> > > 2020-08-07T11:47:31,236 | INFO  | paxweb-config-1-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Registering io.undertow.servlet.spec.ServletContextImpl@e72855b as
> OSGi
> > > service - done
> > > 2020-08-07T11:47:31,237 | INFO  | paxweb-config-1-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Starting Undertow web application for context path /
> > > 2020-08-07T11:47:31,271 | INFO  | paxweb-config-1-thread-1 |
> > > HttpServiceFactoryImpl           | 61 -
> org.ops4j.pax.web.pax-web-runtime -
> > > 7.2.16 | Binding bundle: [org.apache.karaf.http.core [126]] to http
> service
> > > 2020-08-07T11:47:31,272 | INFO  | paxweb-config-1-thread-1 | Activator
> > >                     | 61 - org.ops4j.pax.web.pax-web-runtime - 7.2.16 |
> > > Starting server controller
> > > org.ops4j.pax.web.service.undertow.internal.ServerControllerImpl
> > > 2020-08-07T11:47:31,332 | INFO  | activator-1-thread-2 |
> CommandExtension
> > >                | 34 - org.apache.karaf.shell.core - 4.2.9 | Registering
> > > commands for bundle org.apache.karaf.http.core/4.2.9
> > > 2020-08-07T11:47:31,436 | INFO  | activator-1-thread-2 | HttpPlugin
> > >                | 142 - org.apache.karaf.webconsole.http - 4.2.9 | Http
> > > plugin activated
> > > 2020-08-07T11:47:31,487 | INFO  | Blueprint Extender: 1 |
> LRUCacheFactory
> > >                 | 108 - org.apache.camel.camel-support - 3.4.2 |
> Detected
> > > and using LRUCacheFactory: camel-caffeine-lrucache
> > > 2020-08-07T11:47:31,489 | INFO  | CM Configuration Updater
> > > (ManagedServiceFactory Update: factoryPid=[org.ops4j.pax.web.context])
> |
> > > HttpContextProcessing            | 61 -
> org.ops4j.pax.web.pax-web-runtime -
> > > 7.2.16 | Updated configuration for
> > > pid=org.ops4j.pax.web.context.dff8c6e5-f690-4ac6-9268-d87fc0dce06d
> > > 2020-08-07T11:47:31,538 | INFO  | paxweb-context-2-thread-1 |
> > > HttpContextProcessing            | 61 -
> org.ops4j.pax.web.pax-web-runtime -
> > > 7.2.16 | Found bundle "hello1.xml", scheduling customization of its
> > > WebContainer
> > > 2020-08-07T11:47:31,539 | INFO  | paxweb-context-2-thread-1 |
> > > HttpContextProcessing            | 61 -
> org.ops4j.pax.web.pax-web-runtime -
> > > 7.2.16 | Customizing WebContainer for bundle hello1.xml/0.0.0
> > > 2020-08-07T11:47:31,539 | INFO  | paxweb-context-2-thread-1 |
> > > HttpServiceFactoryImpl           | 61 -
> org.ops4j.pax.web.pax-web-runtime -
> > > 7.2.16 | Binding bundle: [hello1.xml [134]] to http service
> > > 2020-08-07T11:47:31,542 | INFO  | paxweb-context-2-thread-1 |
> > > HttpContextProcessing            | 61 -
> org.ops4j.pax.web.pax-web-runtime -
> > > 7.2.16 | Registering login configuration in WebContainer for bundle
> > > "hello1.xml": method=BASIC, realm=karaf
> > > 2020-08-07T11:47:31,545 | INFO  | paxweb-context-2-thread-1 |
> > > HttpContextProcessing            | 61 -
> org.ops4j.pax.web.pax-web-runtime -
> > > 7.2.16 | Registering security mappings in WebContainer for bundle
> > > "hello1.xml": SecurityConstraintsMapping{name='constraint.1',
> > > url='/camel/services/*', roles=[admin]}
> > > 2020-08-07T11:47:31,550 | INFO  | paxweb-context-2-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > registering context DefaultHttpContext [bundle=hello1.xml [134],
> > > contextID=default], with context path: /
> > > 2020-08-07T11:47:31,555 | INFO  | paxweb-context-2-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Starting context /
> > > 2020-08-07T11:47:31,610 | WARN  | paxweb-context-2-thread-1 |
> PathMatcher
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Overwriting existing default context
> > > org.ops4j.pax.web.service.undertow.internal.Context@8c1553c with a new
> > > one org.ops4j.pax.web.service.undertow.internal.Context@681b959c
> > > 2020-08-07T11:47:31,616 | INFO  | paxweb-context-2-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Adding implicit "default" servlet
> > > 2020-08-07T11:47:31,624 | INFO  | paxweb-context-2-thread-1 |
> > > ServletContainerInitializerScanner | 60 -
> org.ops4j.pax.web.pax-web-api -
> > > 7.2.16 | will add io.undertow.servlet.sse.ServerSentEventSCI to
> > > ServletContainerInitializers
> > > 2020-08-07T11:47:31,686 | INFO  | paxweb-context-2-thread-1 |
> > > ServletContainerInitializerScanner | 60 -
> org.ops4j.pax.web.pax-web-api -
> > > 7.2.16 | added ServletContainerInitializer:
> > > io.undertow.servlet.sse.ServerSentEventSCI
> > > 2020-08-07T11:47:31,697 | INFO  | paxweb-context-2-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Creating undertow servlet deployment for context path /...
> > > 2020-08-07T11:47:31,716 | INFO  | paxweb-context-2-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Creating undertow servlet deployment for context path / - done
> > > 2020-08-07T11:47:31,717 | INFO  | paxweb-context-2-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Registering io.undertow.servlet.spec.ServletContextImpl@757d3a20 as
> OSGi
> > > service...
> > > 2020-08-07T11:47:31,728 | INFO  | paxweb-context-2-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Registering io.undertow.servlet.spec.ServletContextImpl@757d3a20 as
> OSGi
> > > service - done
> > > 2020-08-07T11:47:31,729 | INFO  | paxweb-context-2-thread-1 | Context
> > >                     | 63 - org.ops4j.pax.web.pax-web-undertow - 7.2.16
> |
> > > Starting Undertow web application for context path /
> > > 2020-08-07T11:47:32,115 | INFO  | Blueprint Extender: 1 |
> > > BlueprintContainerImpl           | 69 -
> org.apache.aries.blueprint.core -
> > > 1.10.2 | Blueprint bundle hello1.xml/0.0.0 has been started
> > > 2020-08-07T11:47:32,118 | INFO  | Blueprint Event Dispatcher: 1 |
> > > BlueprintCamelContext            | 119 -
> > > org.apache.camel.karaf.camel-blueprint - 3.4.2 | Attempting to start
> > > CamelContext: camel-1
> > > 2020-08-07T11:47:32,165 | INFO  | Blueprint Event Dispatcher: 1 |
> > > JmxManagementStrategy            | 98 -
> org.apache.camel.camel-management -
> > > 3.4.2 | JMX is enabled
> > > 2020-08-07T11:47:32,418 | INFO  | Blueprint Event Dispatcher: 1 |
> > > AbstractCamelContext             | 76 - org.apache.camel.camel-base -
> 3.4.2
> > > | Apache Camel 3.4.2 (camel-1) is starting
> > > 2020-08-07T11:47:33,264 | INFO  | Blueprint Event Dispatcher: 1 |
> > > AbstractCamelContext             | 76 - org.apache.camel.camel-base -
> 3.4.2
> > > | StreamCaching is not in use. If using streams then its recommended to
> > > enable stream caching. See more details at
> > > http://camel.apache.org/stream-caching.html
> > > 2020-08-07T11:47:33,265 | INFO  | Blueprint Event Dispatcher: 1 |
> > > AbstractCamelContext             | 76 - org.apache.camel.camel-base -
> 3.4.2
> > > | Using HealthCheck: camel-health
> > > 2020-08-07T11:47:33,361 | INFO  | Blueprint Event Dispatcher: 1 |
> > > InternalRouteStartupManager      | 76 - org.apache.camel.camel-base -
> 3.4.2
> > > | Route: route1 started and consuming from: servlet:/hello1
> > > 2020-08-07T11:47:33,369 | INFO  | Blueprint Event Dispatcher: 1 |
> > > AbstractCamelContext             | 76 - org.apache.camel.camel-base -
> 3.4.2
> > > | Total 1 routes, of which 1 are started
> > > 2020-08-07T11:47:33,370 | INFO  | Blueprint Event Dispatcher: 1 |
> > > AbstractCamelContext             | 76 - org.apache.camel.camel-base -
> 3.4.2
> > > | Apache Camel 3.4.2 (camel-1) started in 0.951 seconds
> > >
> > >
> > > > Grzegorz Grzybek <gr.grzy...@gmail.com> hat am 07.08.2020 11:07
> > > geschrieben:
> > > >
> > > >
> > > > Hello
> > > >
> > > > In theory (I can't check now), you have to:
> > > >
> > > > 1. comment out <http-listener name="http" socket-binding="http" />
> > > > 2. ensure that org.ops4j.pax.web PID has
> org.osgi.service.http.enabled =
> > > false (so pax-web-undertow won't try to recreate the non-secure
> listener if
> > > it's not available in etc/undertow.xml)
> > > >
> > > > regards
> > > > Grzegorz Grzybek
> > > >
> > > >
> > > > pt., 7 sie 2020 o 10:52 Gerald Kallas <catsh...@mailbox.org>
> napisał(a):
> > > > > Thanks, Grzegorz for the explanation.
> > > > >
> > > > > At the moment I'd be happy to use HTTPS (on 8443) only for all web
> > > related services (web console, servlets) w/ undertow and disable HTTP
> (on
> > > 8181). Could this be reached with the setup I have?
> > > > >
> > > > > Thanks
> > > > > - Gerald
> > > > >
> > > > > > Grzegorz Grzybek <gr.grzy...@gmail.com> hat am 07.08.2020 10:47
> > > geschrieben:
> > > > > >
> > > > > >
> > > > > > Hello
> > > > > >
> > > > > > Unfortunately it is not possible to use the internal (managed by
> Pax
> > > Web) servlet runtime selectively - by specifying which listener (or
> more
> > > generally - virtual host) should be used for the servlets created and
> > > registered by Camel into HttpService (Pax Web) runtime.
> > > > > >
> > > > > > pax-web-jetty has partial (legacy, non-standard from the point of
> > > view of OSGi CMPN specification) support for virtual hosts where a
> > > Whiteboard-registered servlet (or filter, or other "web element") may
> > > specify a comma-separated list of virtual host/connector names. But
> that's
> > > only for Jetty.
> > > > > >
> > > > > > I'm still working on refactoring Pax Web 8 and I plan to have
> > > unified "experience" for dealing with separate connectors/virtual hosts
> > > across Jetty/Tomcat/Undertow runtimes, but it'll come only in Pax Web
> 8.
> > > > > >
> > > > > > regards
> > > > > > Grzegorz Grzybek
> > > > > >
> > > > > >
> > > > > > pt., 7 sie 2020 o 10:34 Gerald Kallas <catsh...@mailbox.org>
> > > napisał(a):
> > > > > > > Dear all,
> > > > > > >
> > > > > > > following the guidance in the ticket
> > > > > > >
> > > > > > > https://issues.apache.org/jira/browse/KARAF-6772
> > > > > > >
> > > > > > > I was setting up a vanilla Karaf 4.2.9 with the following
> features
> > > > > > >
> > > > > > > feature:repo-add camel 3.4.2
> > > > > > > feature:install pax-http-undertow
> > > > > > > feature:install camel camel-servlet webconsole
> > > > > > >
> > > > > > > I wonder how I can bind the webconsole and the servlet
> consumer in
> > > the camel routes to the HTTPS port. My undertow.xml see below. I tried
> to
> > > change the org.ops4j.pax.web.cfg but with no success.
> > > > > > >
> > > > > > > Any hints are appreciated.
> > > > > > >
> > > > > > > Thanks
> > > > > > > - Gerald
> > > > > > >
> > > > > > >
> > > > > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > > > > <!--
> > > > > > > Licensed under the Apache License, Version 2.0 (the "License");
> > > > > > > you may not use this file except in compliance with the
> License.
> > > > > > > You may obtain a copy of the License at
> > > > > > >
> > > > > > > http://www.apache.org/licenses/LICENSE-2.0
> > > > > > >
> > > > > > > Unless required by applicable law or agreed to in writing,
> software
> > > > > > > distributed under the License is distributed on an "AS IS"
> BASIS,
> > > > > > > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > > > > > > implied.
> > > > > > >
> > > > > > > See the License for the specific language governing
> permissions and
> > > > > > > limitations under the License.
> > > > > > > -->
> > > > > > > <undertow xmlns="urn:org.ops4j.pax.web:undertow:1.0"
> > > > > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > > > > > > xmlns:w="urn:jboss:domain:5.0"
> > > > > > > xmlns:io="urn:jboss:domain:io:3.0"
> > > > > > > xsi:schemaLocation="
> > > > > > > urn:jboss:domain:io:3.0
> > > http://www.jboss.org/schema/jbossas/wildfly-io_3_0.xsd
> > > > > > > urn:jboss:domain:undertow:4.0
> > > http://www.jboss.org/schema/jbossas/wildfly-undertow_4_0.xsd
> > > > > > > urn:jboss:domain:5.0
> > > http://www.jboss.org/schema/jbossas/wildfly-config_5_0.xsd";>
> > > > > > >
> > > > > > > <!--
> > > > > > > Only "default" worker and buffer-pool are supported and can be
> > > used to override the default values
> > > > > > > used by all listeners
> > > > > > >
> > > > > > > buffer-pool:
> > > > > > > - buffer-size defaults to:
> > > > > > > - when < 64MB of Xmx: 512
> > > > > > > - when < 128MB of Xmx: 1024
> > > > > > > - when >= 128MB of Xmx: 16K - 20
> > > > > > > - direct-buffers defaults to:
> > > > > > > - when < 64MB of Xmx: false
> > > > > > > - when >= 64MB of Xmx: true
> > > > > > >
> > > > > > > worker:
> > > > > > > - io-threads defaults to
> > > Math.max(Runtime.getRuntime().availableProcessors(), 2);
> > > > > > > - task-core-threads and task-max-threads default to io-threads
> * 8
> > > > > > > -->
> > > > > > > <!--
> > > > > > > <subsystem xmlns="urn:jboss:domain:io:3.0">
> > > > > > > <buffer-pool name="default" buffer-size="16364"
> > > direct-buffers="true" />
> > > > > > > <worker name="default" io-threads="8" task-core-threads="64"
> > > task-max-threads="64" />
> > > > > > > </subsystem>
> > > > > > > -->
> > > > > > >
> > > > > > > <!--
> > >
> https://docs.jboss.org/author/display/WFLY/Undertow+subsystem+configuration
> > > -->
> > > > > > > <subsystem xmlns="urn:jboss:domain:undertow:4.0">
> > > > > > > <!-- org.wildfly.extension.undertow.BufferCacheDefinition -->
> > > > > > > <buffer-cache name="default" buffer-size="1024"
> > > buffers-per-region="1024" max-regions="10" />
> > > > > > > <server name="default-server">
> > > > > > > <!-- HTTP(S) Listener references Socket Binding (and
> indirectly -
> > > Interfaces) -->
> > > > > > > <http-listener name="http" socket-binding="http" />
> > > > > > > <!-- verify-client: org.xnio.SslClientAuthMode.NOT_REQUESTED,
> > > org.xnio.SslClientAuthMode.REQUESTED,
> org.xnio.SslClientAuthMode.REQUIRED
> > > -->
> > > > > > > <https-listener name="https" socket-binding="https"
> > > > > > > security-realm="https" verify-client="NOT_REQUESTED" />
> > > > > > > <host name="default-host" alias="localhost">
> > > > > > > <!--<location name="/" handler="welcome-content" />-->
> > > > > > > <!--<location name="/docs" handler="docs-content" />-->
> > > > > > > <access-log directory="${karaf.data}/log" pattern="common"
> > > prefix="access_log." suffix="log" rotate="true" />
> > > > > > > <filter-ref name="server-header" />
> > > > > > > <filter-ref name="x-powered-by-header" />
> > > > > > > </host>
> > > > > > > </server>
> > > > > > > <servlet-container name="default">
> > > > > > > <jsp-config />
> > > > > > > <websockets />
> > > > > > > <welcome-files>
> > > > > > > <welcome-file name="index.html" />
> > > > > > > <welcome-file name="index.txt" />
> > > > > > > </welcome-files>
> > > > > > > </servlet-container>
> > > > > > > <handlers>
> > > > > > > <file name="welcome-content" path="${karaf.home}/welcome" />
> > > > > > > <!--<file name="docs-content" path="${karaf.home}/docs" />-->
> > > > > > > </handlers>
> > > > > > > <filters>
> > > > > > > <!-- filters for reference from /host/filter-ref and
> > > /host/location/filter-ref -->
> > > > > > > <response-header name="server-header" header-name="Server"
> > > header-value="Pax-HTTP-Undertow" />
> > > > > > > <response-header name="x-powered-by-header"
> > > header-name="X-Powered-By" header-value="Pax-HTTP-Undertow/7.2.16" />
> > > > > > > </filters>
> > > > > > > </subsystem>
> > > > > > >
> > > > > > > <!--
> https://docs.jboss.org/author/display/WFLY/Security+Realms
> > > -->
> > > > > > > <!--
> > > > > > > we'll use "default" security realm by default to configure
> > > jaas/properties authentication
> > > > > > > (io.undertow.security.idm.IdentityManager):
> > > > > > > - w:jaas -
> > >
> org.ops4j.pax.web.service.undertow.internal.security.JaasIdentityManager
> > > > > > > - w:properties -
> > >
> org.ops4j.pax.web.service.undertow.internal.security.PropertiesIdentityManager
> > > > > > > -->
> > > > > > > <security-realm name="default">
> > > > > > > <w:authentication>
> > > > > > > <!-- JaasIdentityManager for given realm -->
> > > > > > > <w:jaas name="karaf" />
> > > > > > > <!-- OR PropertiesIdentityManager (mutually exclusive with
> > > <w:jaas>) -->
> > > > > > > <!--<w:properties path="users.properties" />-->
> > > > > > > </w:authentication>
> > > > > > >
> > >
> <user-principal-class-name>org.apache.karaf.jaas.boot.principal.UserPrincipal</user-principal-class-name>
> > > > > > >
> > >
> <role-principal-class-name>org.apache.karaf.jaas.boot.principal.RolePrincipal</role-principal-class-name>
> > > > > > >
> <!--<role-principal-class-name>...</role-principal-class-name>-->
> > > > > > > </security-realm>
> > > > > > > <!--
> > > > > > > Any security realm may be referenced by https-listener to
> define
> > > trust/keystore, protocols and cipher suites
> > > > > > > -->
> > > > > > > <security-realm name="https">
> > > > > > > <w:server-identities>
> > > > > > > <w:ssl>
> > > > > > > <!-- sun.security.ssl.ProtocolVersion -->
> > > > > > > <!-- sun.security.ssl.CipherSuite -->
> > > > > > > <!-- openssl ciphers 'ALL:eNULL' | sed -e 's/:/\n/g' | sort -->
> > > > > > > <w:engine
> > > > > > > enabled-cipher-suites="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
> > > TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
> > > > > > > enabled-protocols="TLSv1 TLSv1.1 TLSv1.2" />
> > > > > > > <w:keystore path="${karaf.etc}/server.p12" provider="PKCS12"
> > > alias="server"
> > > > > > > keystore-password="password" key-password="password"
> > > > > > > generate-self-signed-certificate-host="localhost" />
> > > > > > > </w:ssl>
> > > > > > > </w:server-identities>
> > > > > > > <w:authentication>
> > > > > > > <w:jaas name="karaf" />
> > > > > > > <w:truststore path="${karaf.etc}/truststore.jks" provider="JKS"
> > > keystore-password="password" />
> > > > > > > </w:authentication>
> > > > > > >
> > >
> <user-principal-class-name>org.apache.karaf.jaas.boot.principal.UserPrincipal</user-principal-class-name>
> > > > > > >
> > >
> <role-principal-class-name>org.apache.karaf.jaas.boot.principal.RolePrincipal</role-principal-class-name>
> > > > > > > </security-realm>
> > > > > > >
> > > > > > > <!-- Interface lists IP addresses to bind to -->
> > > > > > > <interface name="default">
> > > > > > > <w:inet-address value="0.0.0.0" />
> > > > > > > <!--<w:inet-address value="127.0.0.1" />-->
> > > > > > > </interface>
> > > > > > > <interface name="secure">
> > > > > > > <w:inet-address value="127.0.0.1" />
> > > > > > > </interface>
> > > > > > >
> > > > > > > <!-- Socket Binding adds port for each IP from referenced
> > > Interface -->
> > > > > > > <socket-binding name="http" interface="default"
> > > port="${org.osgi.service.http.port}" />
> > > > > > > <socket-binding name="https" interface="secure"
> > > port="${org.osgi.service.http.port.secure}" />
> > > > > > >
> > > > > > > </undertow>
> > >
>
>

Reply via email to