Configuring a reverse proxy
Abyss Web Server can act as a reverse proxy to provide content transparently from another Web server behind it (commonly called a back-end server.)
The proxied server can be another Web server or an application server with a restricted or even a trivial HTTP support that has to be shielded from external clients. Reverse proxying is also the recommended way to take advantage of JSP (Java Servlet Pages), Tomcat/Jetty, node.js Web applications, or ASP.NET Core applications deployed on Kesterel.
How does reverse-proxying work?
A reverse proxy rule in Abyss Web Server establishes a mapping between a virtual path in a frontal host and another virtual path in back-end (the proxied server.)
For example, if there is a rule associating the virtual path /app on mysite.com to http://192.168.1.103:8080/wb, a request to http://mysite/app/xyz/test.py received by Abyss Web Server will generate a request to http://192.168.1.103:8080/wb/xyz/test.py. The response to that request as received by Abyss Web Server will be forwarded to the client.
client ----request----> Abyss Web Server ----request----> Back-end server
client <---response---- Abyss Web Server <---response---- Back-end server
The typical use case of the reverse proxy feature is probably when a Java application server is involved.
Below are the instructions to install Tomcat (a Java Application Server) and how to use it as a back-end with Abyss Web Server:
- Download and install Tomcat. Ensure that the HTTP connector is installed.
- Run Tomcat.
- Tomcat includes a simple HTTP server listening on port 8080 and ships by default with a group of examples in /examples.
- Verify that the simple Web server of Tomcat is accessible by visiting the URL http://127.0.0.1:8080/examples or more generally http://tomcatip:8080/examples where tomcatip is to be replaced with the IP of the computer running the Tomcat application server.
Now add a new reverse proxy rule in Abyss Web Server using the following parameters:
- Local virtual path: /test
- Remote server address: 127.0.0.1 (or the IP of the server where Tomcat was installed)
- Remote port: 8080
- Remote virtual path: /examples
Keep in touch with us
Sign up for our low volume newsletter to get product announcements, articles and power tips.