I still use traefik 1.7.x in my old swarm cluster, as it allows to issue letsencrypt certificates and store them in consul to be use by all nodes. treafik 2.x removed that feature.
On docker/docker swarm Traefik is probably one of the most powerfull reverse proxies that exist. Though, you have to learn how to write its rules as container labels. I never experienced any DNS caching or other sorts of problem with Traefik. Once deployed, Treafik will be watching docker events and fetch the labels to apply the reverse proxy rules for you: the configuration is bound to the lifecycle of the service.
Though, if you feel comfortable with nginx, it can get the job done is well. You will have to maintain the rules in conf files and either mount them into your nginx container or build an image that already includes them. If you go down the nginx road, make sure to address the dns caching issues that can happen if not configured properly.
If you feel unsure, you can always take a look at the nginx proxy manager, which provides a nice ui for the reverse proxy rules.
I personaly like things to be automated - I try to avoid configuration ui’s as much as possible.