Is it necessary to use third party reverse proxy to host multiple httpd on single ip?

I want to use default port(80, 443) some container in same host.
Does docker have any function like reverse proxy or to use nginx as it is best way?