A simple reverse proxy that manages multiple local apps through custom domains, eliminating port memorization.
Ergo is a reverse proxy tool that simplifies local development by allowing developers to assign custom local domains to multiple applications running on different ports. It solves the problem of having to remember port numbers for various microservices by providing domain-based access like `service.localhost` instead of `localhost:3000`.
Developers working with multiple local services or microservices who want to avoid port memorization and prefer clean domain names for local development.
Ergo offers a simple, Unix-philosophy approach to local domain management without complexity, providing a lightweight alternative to heavier development proxies while being easy to configure and cross-platform compatible.
The management of multiple apps running over different ports made easy
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a .ergo file with the same format as /etc/hosts, making it intuitive for developers already familiar with host file management without a steep learning curve.
Officially supports OS X, Linux, and Windows with dedicated installation scripts like brew for OS X and curl/sh for Linux, ensuring broad accessibility.
Focuses solely on reverse proxying without bloat, following the 'do one thing well' principle for minimal overhead and clear functionality.
Offers both local subdomain proxying (e.g., service.localhost) and system-wide web proxy via PAC file, adapting to different development workflows.
Binding to port 80 for standard local domains often requires sudo or admin rights, which can be inconvenient and pose security concerns in shared environments.
The default .dev domain conflicts with HTTPS; the README explicitly warns to use .test on Windows unless services have certificates, adding configuration overhead.
Configuring Ergo as a system-wide proxy involves manual network settings changes on different OSes, which is error-prone and not fully automated for all platforms.