Understanding virtual hosts

Jonathan Knight j.knight at isc.keele.ac.uk
Wed May 23 14:01:23 BST 2012



I'm deploying Shibboleth for Blackboard 9.1 SP8.  which is answering

https://bbtest.vle.keele.ac.uk/

This seems to have gone well and it works fine.  Our IDP is openathens 
LA and the web server is tomcat.


Now I want to allow for the alternative hostnames that this service can 
be called by.  It will also be known as

https://students.keele.ac.uk/

and it needs to answer to both names even though it is the same site. 
There are some features of Blackboard which allow us to vary how it 
behaves based on the name that was used to call it and we'd like to keep 
those features.

I'm not expecting the login sessions to migrate between hostnames.


I think what I want is a virtual host, so I've added the following into 
the shibboleth2.xml file:


<RequestMapper type="Native">
         <RequestMap applicationId="default">
             <Host name="bbtest.vle.keele.ac.uk">
                 <Path name="default" authType="shibboleth" 
requireSession="true"/>
             </Host>

             <Host name="students.keele.ac.uk" applicationId="students" 
authType="shibboleth" requireSession="true"/>
         </RequestMap>
     </RequestMapper>


and I've added an application overide:

  <ApplicationOverride id="students" 
entityID="https://bbtest.vle.keele.ac.uk/shibboleth"/>



I've checked the meta-data and that registers the ACS URL's as 
bbtest.vle.keele.ac.uk, however which I try and use the 
students.keele.ac.uk hostname I get an error from our IDP of

"Invalid or missing assertion consumer service URL in request from 
entity: https://bbtest.vle.keele.ac.uk/shibboleth "

and when I check the SAML parameters I see the following:

<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"

AssertionConsumerServiceURL="https://students.keele.ac.uk/Shibboleth.sso/SAML2/POST"
                     Destination="https://openathens.keele.ac.uk/oala/sso"
                     ID="_9987fd559af56187bd2b84eb87e3488b"
                     IssueInstant="2012-05-23T09:14:48Z"

ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                     Version="2.0"
                     >
     <saml:Issuer 
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://bbtest.vle.keele.ac.uk/shibboleth</saml:Issuer>
     <samlp:NameIDPolicy AllowCreate="1" />
</samlp:AuthnRequest>


So the entityId reflects the bbtest.vle.keele.ac.uk but the ACS is using 
students.keele.ac.uk.


I'm unsure whether I should be trying to register a separate entityID 
for students.keele.ac.uk and using that, or trying to change the ACS 
url's from students.keele.ac.uk to bbtest.vle.keele.ac.uk when the 
students.keele.ac.uk hostname is used.





Any help would be gratefully received.


Jon.


More information about the users mailing list