How do I have the front end and back end on different domains, but have the front end domain in content links on the admin side?

Topics: Administration, Customizing Orchard
Jul 13 at 10:06 AM
Edited Jul 13 at 10:20 AM
My Ops team has informed me of a new requirements while moving to a different hosting provider.
  1. all admin acccess must be done on domain
  2. all front end pages must be displayed on, including e.g. all published "View" links on the admin side
  3. all access, both front end AND admin access must be on https
  4. if it's relevant, all SSL is terminated at the switch, however, the can run on a different port
It's No.2 that i am struggling with.
Currently if i hover over the "View" link on the admin url, it goes to, not as required.

Also, I'm wondering how other things might be affected by having a different domain on the admin side, like inserting content item links, media etc. and whether any of this (or other stuff) will mean links on the front end getting instead of

What's the correct way to resolve this problem?
I was really hoping that the BaseUrl setting might determine all the content links, but it's already set to, so that doesn't seem to have any effect here as it just writes out a relative url.

I also tried using the SSL module, in the hope that it would rewrite the links appropriately, but the "View" links are still all set to

We cannot afford any content links in the admin side to have the admin domain, because our content editors love to copy and paste urls.

What is the correct way to solve this problem?
My brain is wandering off to nasty hacks like intercepting the port in the url and rewriting it in some kind of hack to e.g. the displayroute metadata.
There must be a better way?

footnote - all admin acccess must be done on domain because Amazon ELB does not support redirecting based on the URL.
Aug 25 at 4:47 PM
Edited Aug 25 at 4:47 PM
I no longer require help on this issue as the Ops team have managed to work around the AWS ELB problem with nginx.

But maybe this question will help someone else if it gets an answer, so I will leave it open.