This release fixes some minor issues, and adds a few new features. The internal web interface has been updated slightly, forward functionality has been improved, internal logging has changed, and some small bugs have been fixed.
* The web interface appearance has been changed slightly to be more compact. It also now paginates the various lists of logs, visitors, etc. Log browsing has been improved a bit.
* Forwarded requests can now be directed to a specific path on the destination server. The new configuration option is called "destinationPath". It contains a path that is prefixed onto the actual request when forwarding the request. For example, if destinationPath,/mypath is specified in the configuration, then an incoming request for "/index.html" would actually be forwarded to "/mypath/index.html" on the destination server. The httpmanifold.conf file also contains usage information.
* In conjunction with the new destination path option, simple content replacement rules can also be defined. This is primarily because response HTML from servers may reference an absolute path on the destination server which would be obscured by the forwarding rule. Taking the example above, if the "index.html" displayed an image such as <img src="/mypath/myimage.gif">, the source path would need to be corrected so that external requests would work correctly with the "destinationPath" option. So, a "replaceRule" configuration option is also availble. The replacement matches a simple string and replaces it with another. It does not perform any regular expression comparisons. So, the replacement rule to handle the image problem could be replaceRule,src="/mypath/,src="/. Any number of replacement rules can be added, but they should be crafted carefully while testing a site that is being forwarded to a sub-path. Also note that the rewrite rules need to be enabled before the replacement rules will take effect.
* Internal request logs are now stored in an HSQLDB database, as well as the text logs. The web log viewing interface now uses the database logs and the performance should be better than the previous method of parsing text logs before displaying their information. Part of the reason for the switch is because the web interface will have more powerful log analysis functions and views in the future, so this is in preparation for those more powerful features.
* Finally, some of the code which performs the actual request forwarding has been slightly updated and should result in better forwarding performance.... read more
This is the initial release of HTTPManifold which is essentially a reverse proxy HTTP server. It also has logging functionality that is useful for debugging web services. At this point there is a very basic web interface for viewing logs. This tool is intended to be reasonably lightweight and easy to install and configure.
HTTPManifold was started because of the problem of making multiple web servers running on separate physical machines available through port 80 of a single IP address. While some web servers allow such a configuration, it is generally not obvious and often not simple to configure. HTTPManifold was made with the single purpose of allowing home and small business users to have a simple and easy way to allow multiple servers to be accessible over a single internet connection.... read more