- Serving static files
- Not needing to care about binding your application to a privileged port (below 1024)
- SSL certificate handling
- Hosting several applications on the same IP
For a minimal development setup you might not need it though, depends on what you want to do I guess.
- Serving static files
- Not needing to care about binding your application to a privileged port (below 1024)
- SSL certificate handling
- Hosting several applications on the same IP"
All of this should be handled at a higher level with load balancers doing your SSL termination, and CDN for static files. There's no reason your application server should care about any of that stuff.
And for development you probably don't want to use a CDN.
Edit: it just occurred to me that a load balancer is nothing but a reverse proxy anyway. Running on a different machine usually, but not really different from nginx on the local machine from the point of view of the application software.
Nginx was designed to handle backend services easily and programmers from different background may not be well verse in Golang at the beginning.
There are also dead-simple TLS libraries, some that will even get LE certs automatically.
Reverse Proxy for possible load balancing?