You basically have 3 options, depending on what your router can do and what resources you have available:
A different port
This is the easiest option: One port (e.g. 80) forwards to one of your servers, while another (e.g. 8080, a common "alternative" HTTP port) forwards to the other. I know you said you didn't want to do this, but it's the easiest option so I'm listing it here for completeness.
A second IP
If you can assign a second external IP address to your router (and you can get one from your ISP/you're willing to pay for one from your ISP), you can direct one DNS entry to one IP, port forwarded to one of your servers, while the other goes to the second IP, port forwarded to the other server. Many routers -- especially your off-the-shelf consumer routers -- don't support this, however; too, many ISPs don't offer the option of additional IPs, and those that do frequently charge insane prices for them (the typical exception being hosting providers of the rack or VPS variety).
A reverse proxy
This is probably easiest to set up on your Linux server, rather than your Windows server. Basically you would change your router to forward all traffic to the Linux server; there, your web server would have one virtual host for example1.example.com
, which would serve up the website that lives on it, and another for example2.example.com
, which would reverse proxy to the Spiceworks server as its "upstream". How exactly this is implemented is dependent upon what web server you're using, but in both Apache and nginx this is relatively simple to do. You could also set up a third box to serve as the proxy, directing traffic to the appropriate server based on the hostname.
Forgive me I don't understand the question....Forward hostnames? Forwarding users makes more sense. – mdpc – 2014-04-30T18:56:34.650
Sorry if it's a little unclear: I basically want to be able to access webserver 1 at example1.example.com and server 2 at example2.example.com, and both servers are in the same network. – Moses – 2014-04-30T18:59:14.650