No idea why you would roll your own, easiest thing is run nginx in docker. No way writing your own is the first thing you should do.
In MY real world experience, the API gateway does some sort of very simple routing to various services and any complex auth or routing rules would be the service's responsibility.
If the API gateway has your application logic in it it's not a separate component at all.
How complex can you really get with HTTP requests anyway?