Also, assuming that any static assets are served, probably a good idea to leverage sendfile.
Also, assuming that any static assets are served, probably a good idea to leverage sendfile.
Not necessarily:
setcap 'cap_net_bind_service=+ep' your_go_binary
./your_go_binaryAnother option would be to drop privileges at runtime.
virtualenvs don't create a new interpreter, they just fudge the python path?
Definitely not recommended on interpreted languages (although we use it all the time on our go apps).
AmbientCapabilities=CAP_NET_BIND_SERVICE
otherwise you'll have to run setcap any time the binary changes.
Go already leverages sendfile:
By comparison, app code is often developed rapidly and often only reviewed by at most a few people. Even companies staffed by brilliant minds like Google regularly have vulnerabilities in their application code.