I‘d go with jetty as well but the HTTP authorization problem with Karaf >= 
4.2.9 isn’t solved yet.

Sent by my mobile device
- Gerald Kallas

> Am 15.08.2020 um 10:03 schrieb Jean-Baptiste Onofre <j...@nanthrax.net>:
> 
> Hi,
> 
> Webconsole should bind to https by default (at least, it’s what happen with 
> Jetty).
> 
> Even if I’m not a big undertow fan, let me try to reproduce and fix ;)
> 
> Regards
> JB
> 
>> Le 14 août 2020 à 19:20, Gerald Kallas <catsh...@mailbox.org> a écrit :
>> 
>> Dear all,
>> 
>> I did setup a vanilla Karaf 4.3.0RC1 and executed the following commands
>> 
>> feature:install pax-http-undertow
>> feature:install webconsole
>> 
>> How can I bind the webconsole (and later camel servlets) to the HTTPS port?
>> 
>> Many thanks in advance.
>> 
>> My undertow.xml looks like
>> 
>> <?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="default" 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: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}/keystore.p12" provider="PKCS12" 
>> alias="server"
>>                       keystore-password="password" key-password="password"
>>                       generate-self-signed-certificate-host="localhost" />
>>           </w:ssl>
>>       </w:server-identities>
>>       <w:authentication>
>>           <!-- JaasIdentityManager for given realm -->
>>           <w:jaas name="karaf" />
>>           <!-- OR PropertiesIdentityManager (mutually exclusive with 
>> <w:jaas>) -->
>>           <!--<w:properties path="users.properties" />-->
>>           <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>
>>       <!--<role-principal-class-name>...</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>
>> 
>>   <!-- 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="default" 
>> port="${org.osgi.service.http.port.secure}" />
>> 
>> </undertow>
>> 
>> The log shows
>> 
>> 2020-08-14T19:12:59,801 | INFO  | paxweb-config-1-thread-1 | 
>> ServerControllerImpl             | 64 - org.ops4j.pax.web.pax-web-undertow - 
>> 7.2.14 | Using 
>> "file:/E:/apache-karaf/apache-karaf-4.3.0.RC1/etc/undertow.xml" to configure 
>> Undertow
>> 2020-08-14T19:13:00,018 | INFO  | activator-1-thread-2 | 
>> BouncyCastleSecurityProviderRegistrar | 39 - org.apache.sshd.core - 1.7.0 | 
>> getOrCreateProvider(BC) created instance of 
>> org.bouncycastle.jce.provider.BouncyCastleProvider
>> 2020-08-14T19:13:00,050 | INFO  | paxweb-config-1-thread-1 | 
>> ServerControllerImpl             | 64 - org.ops4j.pax.web.pax-web-undertow - 
>> 7.2.14 | Starting undertow http listener on 0.0.0.0:8181
>> 2020-08-14T19:13:00,052 | INFO  | paxweb-config-1-thread-1 | 
>> ServerControllerImpl             | 64 - org.ops4j.pax.web.pax-web-undertow - 
>> 7.2.14 | Starting undertow https listener on 0.0.0.0:8443
>> 2020-08-14T19:13:00,093 | INFO  | activator-1-thread-2 | CommandExtension    
>>              | 36 - org.apache.karaf.shell.core - 4.3.0.RC1 | Registering 
>> commands for bundle org.apache.karaf.features.command/4.3.0.RC1
>> 2020-08-14T19:13:00,244 | INFO  | activator-1-thread-2 | Activator           
>>              | 20 - org.apache.karaf.deployer.features - 4.3.0.RC1 | 
>> Deployment finished. Registering FeatureDeploymentListener
>> 2020-08-14T19:13:00,310 | INFO  | activator-1-thread-3 | CommandExtension    
>>              | 36 - org.apache.karaf.shell.core - 4.3.0.RC1 | Registering 
>> commands for bundle org.apache.karaf.kar.core/4.3.0.RC1
>> 2020-08-14T19:13:00,320 | INFO  | activator-1-thread-2 | FeaturesPlugin      
>>              | 73 - org.apache.karaf.webconsole.features - 4.3.0.RC1 | 
>> Features plugin deactivated
>> 2020-08-14T19:13:00,333 | INFO  | activator-1-thread-2 | FeaturesPlugin      
>>              | 73 - org.apache.karaf.webconsole.features - 4.3.0.RC1 | 
>> Features plugin activated
>> 2020-08-14T19:13:00,813 | INFO  | activator-1-thread-2 | CommandExtension    
>>              | 36 - org.apache.karaf.shell.core - 4.3.0.RC1 | Registering 
>> commands for bundle org.apache.karaf.shell.ssh/4.3.0.RC1
>> 2020-08-14T19:13:01,295 | INFO  | paxweb-config-1-thread-1 | 
>> ServerControllerImpl             | 64 - org.ops4j.pax.web.pax-web-undertow - 
>> 7.2.14 | Using in-memory session persistence
>> 2020-08-14T19:13:01,344 | INFO  | paxweb-config-1-thread-1 | 
>> HttpServiceFactoryImpl           | 62 - org.ops4j.pax.web.pax-web-runtime - 
>> 7.2.14 | Binding bundle: [org.apache.karaf.webconsole.console [72]] to http 
>> service
> 

Reply via email to