Peter,
it is in general easy to have several different webserver running on the same machine under the same IP-Address.
One way would be to use Nettalks Host.EXE, where each webserver is compiled as a DLL for this Host.EXE. Downside: each webserver-DLL has to be updated, if you update just one. (when a new major release comes out)
Another way is to run either an Apache or the IIS as a reverse proxy or "gateway server".
Lets say, your domain is
www.peter.dk and it is at a hosting provider somewhere. If this hosted domain is running on Linux, then you have no other chance rather then running your NTWS somewhere else. (I mention this just for completeness). Lets assume, you have a static IP-Address at your office lieke 123.123.123.123, so you can run this proxy / gateway on one of your office machine, listening to port 80, while your own NTWS listen to 20.080, 20.081, 20082, etc.
At your website
www.peter.dk you configure the subdomains to point to 123.123.123.123.
You tell the Apache (or IIS) somewhere in its configuration to act as a proxy / gateway server. In the configuration you also tell this proxy "If a request comes in for admin.peter.dk, then direct this request to 192.168.2.100"
This is such a .conf from the Apache 2.
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port t$
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
# DocumentRoot /var/www/html
ServerName admin.peter.dk
ServerAlias admin.peter.dk
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://192.168.2.100:22080/
ProxyPassReverse / http://192.168.2.100:22080/
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>I run this Apache 2 on a Raspeberry pi in my office.
If you have rented a virtual Windows webserver (starts at 10 Euro per month, 100 GB / 2 GB, Win Server 2012), then you could have all in one place.
Downside: while all insecure webserver are all reachable via port 80, the secure webserver need to be addressed with the port in the URL. At least I do not know to overcome this. Perhaps there is a solution, which would make it looking nicer.
Lets say, you have a subdomain like secure.peter.dk. Same as described above: you point the requests to 123.123.123.123. Here you have your NTWS-Server with LE-certificate running on your local computer 192.168.2.100, next to all the others. You have set this NTWS to insecure port 21.080 and secure port 21.443.
For LE your address secure.peter.dk points to 123.123.123.123:80, when it wants to contact and request the challenge. Because of the gateway server, 192.168.2.100:21.080 looks and behaves like 123.123.123.123:80. Once you got the certificate granted, your NTWS will receive the request from the outside via Apache, pointing to 192.168.2.100:21.080 and instantly swap you over to the secure connection. And here the browser will now display
https://secure.peter.dk:21.443. (Addendum: while port 80 should be open by default, you have to allow this port 21.443 in your firewall)
The benefit of a gateway servr is, that you can hoard several NTWS from different versions, no need to recompile all DLL, and you can have more than one machine on your LAN to host webserver. The Apache redirects to wherever you want, what it finds in the .conf-file.
I hope my lengthy explanation was somehow understandable. Probably Lars' suggestion would be more suitable.
This guy runs vhosts on the Raspberry itself, but its just a matter of configuration, to point to a NTWS.
https://www.stewright.me/2013/08/add-virtual-hosts-and-subdomains-to-your-raspberry-pi-apache2-server/There are tons of other description. CAVEAT: In the recent Apache version the the configuration files have to have the extension .conf. All How-Tos I found on the web were refering to the older standard withoput extension. Took me a week t find out....
And, of course, you can run the Apache on a Windows machine too! Not to speak of IIS, of which I have no experience.
HTH
Wolfgang