You could do this with Apache, or almost any other webserver, and in brief you'd configure your server to do two things:
- Listen on :80 to accept the initial request.
- When you so a request for example.com you'd then redirect to the alternative location. e.g. 1.2.3.4:82
However you will probably find visitors from large corporations, behind firewalls, will be unable to view your site. (Because their outgoing firewall might allow connections to the standard ports 80 + 443 but not others. So they'd redirect to a location they couldn't view.)
In short unless you have a fine reason for doing this then it is almost certainly a bad plan. (You don't can run an arbitrary number of sites on one webserver, each on port 80. If you need to run multiple SSL sites you will need extra IPs though, traditionally.)
Here's a brief example:
NameVirtualHost 1.2.3.4:80
<VirtualHost 1.2.3.4:80>
ServerName example.com
ServerAlias www.example.com
Redirect 301 / http://3.4.5.6:83/
</VirtualHost>
<VirtualHost 1.2.3.4:80>
ServerName example.net
ServerAlias www.example.net
Redirect 301 / http://3.4.5.6:82/
</VirtualHost>
<VirtualHost 1.2.3.4:80>
ServerName example.org
ServerAlias www.example.org
Redirect 301 / http://3.4.5.6:2020/
</VirtualHost>