karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Achim Nierbeck <bcanh...@googlemail.com>
Subject Re: URL Redirecting by Jetty RewriteHandler
Date Wed, 22 Apr 2015 13:51:45 GMT
Hi,

for Handlers you'll need to work differently in Karaf compared to a vanilla
Jetty.
This is due to that Jetty is running embedded.
Therfore you first need to get a hold of all handlers and add your new
handler to it.
Take a look at the sample at [1].

regards, Achim
[1] -
https://github.com/ops4j/org.ops4j.pax.web/blob/master/samples/jetty-config-fragment/src/main/resources/jetty.xml#L50-L64



2015-04-22 15:07 GMT+02:00 Daisuke Otaka <daisuke.otaka@globalway.co.jp>:

> Hi,
>
> I'm trying URL redirect by the Jetty RewriteHandler now, but it doesn't
> work
> fine.
> Kindly let me know if you have any suggestion.
>
> [Objective]
> Redirect request URL from A to B.
> A: http://dev:8040/voxer/HelloService
> B: http://dev:8040/services/HelloService
>
> [Current Settings]
> 1. Add bundle file (jar)
>
> /opt/Talend-5.6.1/runtime/system/org/eclipse/jetty/jetty-rewrite/7.6.9.v20130131/jetty-rewrite-7.6.9.v20130131.jar
>
> 2. Add bundle setting to my karaf standard feature xml file.
>
> /opt/Talend-5.6.1/runtime/system/org/apache/karaf/assemblies/features/standard/2.3.9/standard-2.3.9-features.xml
> -----
>     <feature name="jetty" description="Provide Jetty engine support"
> version="7.6.9.v20130131" resolver="(obr)">
>         <bundle dependency="true"
>
> start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/2.4.0</bundle>
>         <bundle dependency="true"
>
> start-level="30">mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.2</bundle>
>         <bundle dependency="true"
> start-level="30">mvn:javax.mail/mail/1.4.5</bundle>
>         <bundle dependency="true"
>
> start-level="30">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
>         <bundle
> start-level="30">mvn:org.eclipse.jetty/jetty-util/7.6.9.v20130131</bundle>
>         <bundle
> start-level="30">mvn:org.eclipse.jetty/jetty-io/7.6.9.v20130131</bundle>
>         <bundle
> start-level="30">mvn:org.eclipse.jetty/jetty-http/7.6.9.v20130131</bundle>
>         <bundle
>
> start-level="30">mvn:org.eclipse.jetty/jetty-client/7.6.9.v20130131</bundle>
>         <bundle
>
> start-level="30">mvn:org.eclipse.jetty/jetty-continuation/7.6.9.v20130131</bundle>
>         <bundle
> start-level="30">mvn:org.eclipse.jetty/jetty-jmx/7.6.9.v20130131</bundle>
>         <bundle
>
> start-level="30">mvn:org.eclipse.jetty/jetty-server/7.6.9.v20130131</bundle>
>         <bundle
>
> start-level="30">mvn:org.eclipse.jetty/jetty-security/7.6.9.v20130131</bundle>
>         <bundle
>
> start-level="30">mvn:org.eclipse.jetty/jetty-servlet/7.6.9.v20130131</bundle>
>         <bundle
>
> start-level="30">mvn:org.eclipse.jetty/jetty-servlets/7.6.9.v20130131</bundle>
>         <bundle
> start-level="30">mvn:org.eclipse.jetty/jetty-xml/7.6.9.v20130131</bundle>
>         <bundle
>
> start-level="30">mvn:org.eclipse.jetty/jetty-webapp/7.6.9.v20130131</bundle>
>         <bundle
> start-level="30">mvn:org.eclipse.jetty/jetty-jndi/7.6.9.v20130131</bundle>
>         <bundle
> start-level="30">mvn:org.eclipse.jetty/jetty-plus/7.6.9.v20130131</bundle>
>         <bundle
>
> start-level="30">mvn:org.eclipse.jetty/jetty-websocket/7.6.9.v20130131</bundle>
>         <bundle
>
> start-level="30">mvn:org.eclipse.jetty/jetty-rewrite/7.6.9.v20130131</bundle>
>     </feature>
> -----
>
> 3. Add "jetty-rewrite.xml" file reference setting.
>
>
> /opt/Talend-5.6.1/runtime/system/org/apache/karaf/assemblies/features/standard/2.3.9/standard-2.3.9-features.xml
> -----
>     <feature name="http" description="Implementation of the OSGi HTTP
> service" version="2.3.9" resolver="(obr)">
>         <configfile
>
> finalname="/etc/jetty.xml">mvn:org.apache.karaf/apache-karaf/2.3.9/xml/jettyconfig</configfile>
>         <config name="org.ops4j.pax.web">
>             org.osgi.service.http.port=8181
>             javax.servlet.context.tempdir=${karaf.data}/pax-web-jsp
>
>
> org.ops4j.pax.web.config.file=${karaf.base}/etc/jetty.xml,${karaf.base}/etc/jetty-rewrite.xml
>         </config>
>         <feature version="[7.0,8.0)">jetty</feature>
>         <bundle
> start-level="30">mvn:org.ops4j.pax.web/pax-web-api/1.1.17</bundle>
>         <bundle
> start-level="30">mvn:org.ops4j.pax.web/pax-web-spi/1.1.17</bundle>
>         <bundle
> start-level="30">mvn:org.ops4j.pax.web/pax-web-runtime/1.1.17</bundle>
>         <bundle
> start-level="30">mvn:org.ops4j.pax.web/pax-web-jetty/1.1.17</bundle>
>     </feature>
> -----
>
> 4. Create file "jetty-rewrite.xml"
>
> /opt/Talend-5.6.1/esb/container/etc/jetty-rewrite.xml
> -----
> <?xml version="1.0"?>
> <!DOCTYPE Configure PUBLIC &quot;-//Mort Bay Consulting//
> DTD Configure//EN&quot; &quot;http://jetty.mortbay.org/configure.dtd&quot
> ;>
>
>   <Configure id="Server" class="org.eclipse.jetty.server.Server">
>
>
>     <New id="Rewrite"
> class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
>       <Set name="rewriteRequestURI">true</Set>
>       <Set name="rewritePathInfo">false</Set>
>       <Set name="originalPathAttribute">requestedPath</Set>
>
>
>       <Call name="addRule">
>         <Arg>
>           <New
> class="org.eclipse.jetty.rewrite.handler.RedirectPatternRule">
>             <Set name="pattern">/voxer/*</Set>
>             <Set name="location">/services/</Set>
>           </New>
>         </Arg>
>       </Call>
>     </New>
>
>
>     <Set name="handler"><Ref id="Rewrite" /></Set>
>
>   </Configure>
> -----
>
> 5. Restart karaf
>
> Best Regards,
> Daisuke Otaka
>
>
>
>
> --
> View this message in context:
> http://karaf.922171.n3.nabble.com/URL-Redirecting-by-Jetty-RewriteHandler-tp4039880.html
> Sent from the Karaf - Dev mailing list archive at Nabble.com.
>



-- 

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message