One option is enfold proxy which is probably one of the first things to come up. I didn't realise at the time there was a free version otherwise I might have investigated that first; still now you get to benefit from my experiences.
So If you don't want to use enfold that there is another option.
Basically what you'll be doing is setting up a reverse proxy.
If you've come this far you presumably have IIS (internet information services) installed (if not then do so, you can find it via the web platform installer).
Other things that you will need are:
- URL rewrite module
- ARR (application request routing)
- Plone installed on one of your servers/machines
these can also be found via the web platform installer (you can presumably also download any of these directly from the microsoft website)
- from there you want to open IIS,
- select ARR from the list (if you can't see it, you may need to open
IIS directly rather than through the server manager if that's what
you did)
- check the enable proxy option
- ensure the use URL rewrite option is ticked (under proxy type)
- and in the reverse proxy text box enter [pathToServer]:[port]
if plone is on the same server as IIS pathToServer will just be localhost, otherwise it's the path to your server. the port will be whatever it was set to in your buildout file (the default it 8080) [naturally you take out the square brackets there]
now it's just a matter or setting up the rewrite rule
- from IIS, open up the URL rewrite module
- open up the newly created inbound rule (most likely called ARR_server_proxy)
- under match URL you want matches the pattern using regular expressions
- the pattern here should be ^(.*)
- From there, under action select rewrite
- In the rewrite url part:
enter:
http://[pathToServer]:[port]/VirtualHostBase/http/[mysiteisthis.com]:80/[nameofplonesite]/VirtualHostRoot/{R:1}
for example mine might be:
http://localhost:9090/VirtualHostBase/http/mysite.com:80/Plone/VirtualHostRoot/{R:1}
This virtualhostbase and virtualhostroot are part of an included part of Plone (in the Zope layer) called the virtual host monster. It basically tells it to make the site show up with mysite.com when you navigate around the site
just so you know regarding part 4.
the ^ means the start of the URL, the . means anything, the * means any number of times. The circular brackets here tell us that whatever is inside them will be captured for later use (in this case it will be into {R:1}) You can look up regex for more info on what it is and other ways to use it.