A Go-based reverse proxy and AWS PrivateLink replacement running as a systemd service on EC2 instances. Includes rate limiting, bot blocking, and dynamic routing based on subdomains and paths.
Features
Reverse proxy for handling incoming requests
Rate limiting to prevent abuse
Bot blocking based on user-agent strings
Dynamic routing based on subdomains and paths
Configurable via a YAML configuration file
Installation
Clone the repository:
git clone https://github.com/dutchdata/goproxy.git
cd goproxy
Build the binary:
go build -o goproxy
Create a configuration file:
cp config.yaml.example config.yaml
Run the service:
./goproxy -config config.yaml
Set up as a systemd service (example: /etc/systemd/system/goproxy.service):