# HG changeset patch # User Dirk Olmes # Date 1390529715 -3600 # Node ID a8c68c6bbf9c1ff1cb126be603a7cd61e86a48c2 # Parent 45f638a5faa8e8bdeb8a172d9d0a9087d4973457 new blog post diff -r 45f638a5faa8 -r a8c68c6bbf9c content/Java/jetty-as-proxy.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/content/Java/jetty-as-proxy.md Fri Jan 24 03:15:15 2014 +0100 @@ -0,0 +1,14 @@ +Title: Proxying requests with Jetty +Date: 2014-01-24 +Tags: Jetty +Lang: en + +At work we develop a web based software for the automotive industry. On the server side we embed Jetty as HTTP server and Servlet engine. It's easy to configure in code and performs very well. + +Recently, we had to integrate a third party solution which comes as a virtual machine. This solution consists of some JavaScript APIs that need to talk to the VM. This setup gets you into problems with the [same origin policy](http://en.wikipedia.org/wiki/Same-origin_policy) quickly. + +For the deployment setup we mess around with [Apache](http://httpd.apache.org)'s [mod_proxy](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html). This works but is not really manageable for our development machines. + +For development I wrote a couple of simple servlets that accept the request, use the JDK's [HttpURLConnection](http://docs.oracle.com/javase/7/docs/api/java/net/HttpURLConnection.html) to retrieve the content from the VM and pass the resuld back. While this works it was really ugly code. + +A bit of googling came up with Jetty's [ProxyServlet](http://www.eclipse.org/jetty/documentation/current/proxy-servlet.html) which looked promising. The real time saver was [Alan Hohn's blog post](http://blog.anvard.org/articles/2013/10/06/jetty-proxy-servlet.html) about how to use the proxy servlet. It allowed me to throw away all of our custom servlets and replace them with a single three-liner. Thanks, man! \ No newline at end of file