Using your nginx example, I managed to get Apache to do the same thing, i.e. run out in front of the Scipio embedded Tomcat servlet. This is helpful for me because I can use the same “perfected” ssl configuration a have defined in Apache, and not have to worry about installing and maintaining certs in multiple formats. It also hides the port spec, so I can keep that firewall up.
The problem, however, is that this does not change the context path. And that is a major issue for me. I don’t want Scipio running on the domain root. In this example (and what I had to live with for now), that’s what is still being done.
I have one server running numerous back end tools, in various other Tomcat instances, or custom Python servers, etc. I also have a commercial front end.
Every other back end tool I have running behind “/staff/toolname”. Generally, I just need a one, to maybe a handful of Apache rules to pull this off. I just proxypass to localhost:toolport. Then, that tool always has it’s own internal means of changing the context path.
Likewise, I want the scipio apps running at /staff/sciopio/scipio app (e.g. /staff/sciopio/accounting). Alternatively, as and a secondary related issue, I want the shop to come off the domain root, at just plain /shop. So, there is a bit of a conflict there.
Anyway, I can’t reliably make this work. I’ve tried fiddling with the force.host and static content settings. I’ve tried making tweaks in the Java. I even tried the Apache mod “ProxyHTMLURLMap”, which dynamically rewrites web content. Nothing works perfectly. I get a roughly working system, but with nasty little glitches sprinkled about. There are more significant logic gaps then I can spend the time plugging.
Please test this, and if possible, add this feature in a “perfected” state to a future release.
I now have to make sure, for instance, that my front website, does have not directory conflicts with the Scipio proxypasses. As an example, I can’t have an /images directory off of the natural Apache doc root.