A while ago I posted a guide how to set up nginx as a reverse proxy in front of tomcat to run ORDS and APEX. See the post here.
An open problem was that APEX was still thinking it runs on port 80 with http, while nginx was running https on port 443.
Just recently I talked about changing the /ords URL to something else, now I want to show another way to manipulate the URL.
I always disliked deploying multiple ORDS instances, just to provide different paths to the same DB. This happened out of legacy or SEO purposes so far.
Now let’s set up a simple reverse proxy to achieve any URL structure you want for your APEX server.
Usually ORDS is deployed on Tomcat simply as /ords, right?
What do you do, if you want a different name than ords, let’s say you would like to see “bruce” in the URL? Simple solution: just rename ords.war to bruce.war before deploying to Tomcat.
But what if you want to have “mod/plsql“, as in http://myserver.tld:8080/mod/plsql ?
On a recent installation we had problems serving APEX static files (application and workspace), they would always report a 404 not found back from ORDS.
For my little Webserver Logfile Analysis project I had to solve the problem of how to stream data from a flat file into a relational datamodel in my target database.
Since I used NodeJS in several projects over the past years, it came to my mind at first. On a second thought and by consulting some friends another, easier, solution materialized: