On Ubuntu using shibboleth 2.3.1 on apache2.2 when I visit:<div><br></div><div><a href="https://mydomain.com/Shibboleth.sso/Metadata">https://mydomain.com/Shibboleth.sso/Metadata</a></div><div><br></div><div>it appears that mod_shib is not intercepting the url, and I&#39;m passed through to my (Rails Passenger) application, which of course responds that it can&#39;t find the file.</div>
<div><br></div><div>However, I am certain that mod_shib is installed and working, because when I visit my shibboleth-protected directory (/auth/shibboleth/) I get correctly redirected to the idp.</div><div><br></div><div>
My understanding (maybe wrong) is that mod_shib captures all traffic heading for /Shibboleth.sso/ and handles it.</div><div><br></div><div>I think (again maybe wrongly) that the directory name Shibboleth.sso is defined for shib 2.3.1 in the shibboleth2.xml file, with this line:</div>
<div><br></div><div><div><font face="courier new, monospace">&lt;Sessions lifetime=&quot;28800&quot; timeout=&quot;3600&quot; checkAddress=&quot;false&quot;</font></div><div><font face="courier new, monospace">            handlerURL=&quot;/Shibboleth.sso&quot; handlerSSL=&quot;true&quot;</font></div>
<div><font face="courier new, monospace">            exportLocation=&quot;<a href="http://localhost/Shibboleth.sso/GetAssertion">http://localhost/Shibboleth.sso/GetAssertion</a>&quot; exportACL=&quot;127.0.0.1&quot;</font></div>
<div><font face="courier new, monospace">            idpHistory=&quot;false&quot; idpHistoryDays=&quot;7&quot;&gt;</font></div></div><div><br></div><div>But it isn&#39;t working.</div><div><br></div><div><div>I&#39;ve done one other installation, with shibboleth 2.5, and it eventually worked fine (on OSX) with a MUCH simpler shibboleth2.xml file.</div>
</div><div><br></div><div>I suspect that somehow Apache is masking the Shibboleth.sso directory from mod_shib, so it never gets handed over to shibd. (am I right?)</div><div><br></div><div>Things I&#39;ve tried:</div><div>
<br></div><div>1. Lots of googling to see if others have had this problem. Not much out there.</div><div><br></div><div>2. Commenting out some apache conf lines that did Rewrites.  Didn&#39;t help.</div><div><br></div><div>
3. Added a &lt;Location&gt; command to make sure /Shibboleth.sso/ was accessible. Didn&#39;t help.</div><div><br></div><div>Next I&#39;m trying:</div><div><br></div><div>1. I&#39;ll strip down to a super bare-bones apache conf and see if something I&#39;ve eliminated was the problem.</div>
<div><br></div><div>2. Doing a manual build of shib 2.5 on that machine and using my configuration that works on OSX (with appropriate adjustments of course)</div><div><br></div><div>But I don&#39;t have much hope.</div><div>
<br></div><div>Here is my shibboleth2.xml file:</div><div><br></div><div><div><font face="courier new, monospace">&lt;SPConfig xmlns=&quot;urn:mace:shibboleth:2.0:native:sp:config&quot;</font></div><div><font face="courier new, monospace">    xmlns:conf=&quot;urn:mace:shibboleth:2.0:native:sp:config&quot;</font></div>
<div><font face="courier new, monospace">    xmlns:saml=&quot;urn:oasis:names:tc:SAML:2.0:assertion&quot;</font></div><div><font face="courier new, monospace">    xmlns:samlp=&quot;urn:oasis:names:tc:SAML:2.0:protocol&quot;    </font></div>
<div><font face="courier new, monospace">    xmlns:md=&quot;urn:oasis:names:tc:SAML:2.0:metadata&quot;</font></div><div><font face="courier new, monospace">    logger=&quot;syslog.logger&quot; clockSkew=&quot;180&quot;&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">    &lt;!-- The OutOfProcess section contains properties affecting the shibd daemon. --&gt;</font></div><div><font face="courier new, monospace">    &lt;OutOfProcess logger=&quot;shibd.logger&quot;&gt;</font></div>
<div><font face="courier new, monospace">        &lt;!--</font></div><div><font face="courier new, monospace">        &lt;Extensions&gt;</font></div><div><font face="courier new, monospace">            &lt;Library path=&quot;odbc-store.so&quot; fatal=&quot;true&quot;/&gt;</font></div>
<div><font face="courier new, monospace">        &lt;/Extensions&gt;</font></div><div><font face="courier new, monospace">        --&gt;</font></div><div><font face="courier new, monospace">    &lt;/OutOfProcess&gt;</font></div>
<div><font face="courier new, monospace">    </font></div><div><font face="courier new, monospace">    &lt;!-- The InProcess section conrains settings affecting web server modules/filters. --&gt;</font></div><div><font face="courier new, monospace">    &lt;InProcess logger=&quot;native.logger&quot;&gt;</font></div>
<div><font face="courier new, monospace">        &lt;ISAPI normalizeRequest=&quot;true&quot; safeHeaderNames=&quot;true&quot;&gt;</font></div><div><font face="courier new, monospace">            &lt;!--</font></div><div><font face="courier new, monospace">            Maps IIS Instance ID values to the host scheme/name/port. The name is</font></div>
<div><font face="courier new, monospace">            required so that the proper &lt;Host&gt; in the request map above is found without</font></div><div><font face="courier new, monospace">            having to cover every possible DNS/IP combination the user might enter.</font></div>
<div><font face="courier new, monospace">            --&gt;</font></div><div><font face="courier new, monospace">            &lt;Site id=&quot;1&quot; name=&quot;<a href="http://appsoma.com">appsoma.com</a>&quot;/&gt;</font></div>
<div><font face="courier new, monospace">            &lt;!--</font></div><div><font face="courier new, monospace">            When the port and scheme are omitted, the HTTP request&#39;s port and scheme are used.</font></div>
<div><font face="courier new, monospace">            If these are wrong because of virtualization, they can be explicitly set here to</font></div><div><font face="courier new, monospace">            ensure proper redirect generation.</font></div>
<div><font face="courier new, monospace">            --&gt;</font></div><div><font face="courier new, monospace">            &lt;!--</font></div><div><font face="courier new, monospace">            &lt;Site id=&quot;42&quot; name=&quot;<a href="http://virtual.example.org">virtual.example.org</a>&quot; scheme=&quot;https&quot; port=&quot;443&quot;/&gt;</font></div>
<div><font face="courier new, monospace">            --&gt;</font></div><div><font face="courier new, monospace">        &lt;/ISAPI&gt;</font></div><div><font face="courier new, monospace">    &lt;/InProcess&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">    &lt;!-- Only one listener can be defined, to connect in-process modules to shibd. --&gt;</font></div><div><font face="courier new, monospace">    &lt;UnixListener address=&quot;shibd.sock&quot;/&gt;</font></div>
<div><font face="courier new, monospace">    &lt;!-- &lt;TCPListener address=&quot;127.0.0.1&quot; port=&quot;12345&quot; acl=&quot;127.0.0.1&quot;/&gt; --&gt;</font></div><div><font face="courier new, monospace">    </font></div>
<div><font face="courier new, monospace">    &lt;!-- This set of components stores sessions and other persistent data in daemon memory. --&gt;</font></div><div><font face="courier new, monospace">    &lt;StorageService type=&quot;Memory&quot; id=&quot;mem&quot; cleanupInterval=&quot;900&quot;/&gt;</font></div>
<div><font face="courier new, monospace">    &lt;SessionCache type=&quot;StorageService&quot; StorageService=&quot;mem&quot; cacheTimeout=&quot;3600&quot; inprocTimeout=&quot;900&quot; cleanupInterval=&quot;900&quot;/&gt;</font></div>
<div><font face="courier new, monospace">    &lt;ReplayCache StorageService=&quot;mem&quot;/&gt;</font></div><div><font face="courier new, monospace">    &lt;ArtifactMap artifactTTL=&quot;180&quot;/&gt;</font></div><div><font face="courier new, monospace"><br>
</font></div><div><font face="courier new, monospace">    &lt;!-- This set of components stores sessions and other persistent data in an ODBC database. --&gt;</font></div><div><font face="courier new, monospace">    &lt;!--</font></div>
<div><font face="courier new, monospace">    &lt;StorageService type=&quot;ODBC&quot; id=&quot;db&quot; cleanupInterval=&quot;900&quot;&gt;</font></div><div><font face="courier new, monospace">        &lt;ConnectionString&gt;</font></div>
<div><font face="courier new, monospace">        DRIVER=drivername;SERVER=dbserver;UID=shibboleth;PWD=password;DATABASE=shibboleth;APP=Shibboleth</font></div><div><font face="courier new, monospace">        &lt;/ConnectionString&gt;</font></div>
<div><font face="courier new, monospace">    &lt;/StorageService&gt;</font></div><div><font face="courier new, monospace">    &lt;SessionCache type=&quot;StorageService&quot; StorageService=&quot;db&quot; cacheTimeout=&quot;3600&quot; inprocTimeout=&quot;900&quot; cleanupInterval=&quot;900&quot;/&gt;</font></div>
<div><font face="courier new, monospace">    &lt;ReplayCache StorageService=&quot;db&quot;/&gt;</font></div><div><font face="courier new, monospace">    &lt;ArtifactMap StorageService=&quot;db&quot; artifactTTL=&quot;180&quot;/&gt;</font></div>
<div><font face="courier new, monospace">    --&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">    &lt;!-- To customize behavior, map hostnames and path components to applicationId and other settings. --&gt;</font></div>
<div><font face="courier new, monospace">    &lt;RequestMapper type=&quot;Native&quot;&gt;</font></div><div><font face="courier new, monospace">        &lt;RequestMap applicationId=&quot;default&quot;&gt;</font></div><div>
<font face="courier new, monospace">            &lt;!--</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>The example requires a session for documents in /secure on the containing host with http and</font></div>
<div><font face="courier new, monospace">            https on the default ports. Note that the name and port in the &lt;Host&gt; elements MUST match</font></div><div><font face="courier new, monospace">            Apache&#39;s ServerName and Port directives or the IIS Site name in the &lt;ISAPI&gt; element</font></div>
<div><font face="courier new, monospace">            below.</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>--&gt;</font></div><div><font face="courier new, monospace">            &lt;Host name=&quot;<a href="http://appsoma.com">appsoma.com</a>&quot;&gt;</font></div>
<div><font face="courier new, monospace">                &lt;Path name=&quot;secure&quot; authType=&quot;shibboleth&quot; requireSession=&quot;true&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;/Host&gt;</font></div>
<div><font face="courier new, monospace">        &lt;/RequestMap&gt;</font></div><div><font face="courier new, monospace">    &lt;/RequestMapper&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div>
<font face="courier new, monospace">    &lt;!--</font></div><div><font face="courier new, monospace">    The ApplicationDefaults element is where most of Shibboleth&#39;s SAML bits are defined.</font></div><div><font face="courier new, monospace">    Resource requests are mapped by the RequestMapper to an applicationId that</font></div>
<div><font face="courier new, monospace">    points into to this section.</font></div><div><font face="courier new, monospace">    --&gt;</font></div><div><font face="courier new, monospace">    &lt;ApplicationDefaults id=&quot;default&quot; policyId=&quot;default&quot;</font></div>
<div><font face="courier new, monospace">        entityID=&quot;<a href="https://appsoma.com/shibboleth">https://appsoma.com/shibboleth</a>&quot;</font></div><div><font face="courier new, monospace">        REMOTE_USER=&quot;eppn persistent-id targeted-id&quot;</font></div>
<div><font face="courier new, monospace">        signing=&quot;false&quot; encryption=&quot;false&quot;&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">        &lt;!--</font></div>
<div><font face="courier new, monospace">        Controls session lifetimes, address checks, cookie handling, and the protocol handlers.</font></div><div><font face="courier new, monospace">        You MUST supply an effectively unique handlerURL value for each of your applications.</font></div>
<div><font face="courier new, monospace">        The value can be a relative path, a URL with no hostname (https:///path) or a full URL.</font></div><div><font face="courier new, monospace">        The system can compute a relative value based on the virtual host. Using handlerSSL=&quot;true&quot;</font></div>
<div><font face="courier new, monospace">        will force the protocol to be https. You should also add a cookieProps setting of &quot;; path=/; secure&quot;</font></div><div><font face="courier new, monospace">        in that case. Note that while we default checkAddress to &quot;false&quot;, this has a negative</font></div>
<div><font face="courier new, monospace">        impact on the security of the SP. Stealing cookies/sessions is much easier with this disabled.</font></div><div><font face="courier new, monospace">        --&gt;</font></div>
<div><font face="courier new, monospace">        &lt;Sessions lifetime=&quot;28800&quot; timeout=&quot;3600&quot; checkAddress=&quot;false&quot;</font></div><div><font face="courier new, monospace">            handlerURL=&quot;/Shibboleth.sso&quot; handlerSSL=&quot;true&quot;</font></div>
<div><font face="courier new, monospace">            exportLocation=&quot;<a href="http://localhost/Shibboleth.sso/GetAssertion">http://localhost/Shibboleth.sso/GetAssertion</a>&quot; exportACL=&quot;127.0.0.1&quot;</font></div>
<div><font face="courier new, monospace">            idpHistory=&quot;false&quot; idpHistoryDays=&quot;7&quot;&gt;</font></div><div><font face="courier new, monospace">            </font></div><div><font face="courier new, monospace">            &lt;!--</font></div>
<div><font face="courier new, monospace">            SessionInitiators handle session requests and relay them to a Discovery page,</font></div><div><font face="courier new, monospace">            or to an IdP if possible. Automatic session setup will use the default or first</font></div>
<div><font face="courier new, monospace">            element (or requireSessionWith can specify a specific id to use).</font></div><div><font face="courier new, monospace">            --&gt;</font></div><div><font face="courier new, monospace"><br>
</font></div><div><font face="courier new, monospace">            &lt;!-- Default example directs to a specific IdP&#39;s SSO service (favoring SAML 2 over Shib 1). --&gt;</font></div><div><font face="courier new, monospace">            &lt;SessionInitiator type=&quot;Chaining&quot; Location=&quot;/Login&quot; isDefault=&quot;true&quot; id=&quot;Intranet&quot;</font></div>
<div><font face="courier new, monospace">                    relayState=&quot;cookie&quot; entityID=&quot;<a href="https://idp.its.utexas.edu/idp/shibboleth">https://idp.its.utexas.edu/idp/shibboleth</a>&quot;&gt;</font></div>
<div><font face="courier new, monospace">                &lt;SessionInitiator type=&quot;SAML2&quot; acsIndex=&quot;1&quot; template=&quot;bindingTemplate.html&quot;/&gt;</font></div><div><font face="courier new, monospace">                &lt;SessionInitiator type=&quot;Shib1&quot; acsIndex=&quot;5&quot;/&gt;</font></div>
<div><font face="courier new, monospace">            &lt;/SessionInitiator&gt;</font></div><div><font face="courier new, monospace">            </font></div><div><font face="courier new, monospace">            &lt;!-- An example using an old-style WAYF, which means Shib 1 only unless an entityID is provided. --&gt;</font></div>
<div><font face="courier new, monospace">            &lt;SessionInitiator type=&quot;Chaining&quot; Location=&quot;/WAYF&quot; id=&quot;WAYF&quot; relayState=&quot;cookie&quot;&gt;</font></div><div><font face="courier new, monospace">                &lt;SessionInitiator type=&quot;SAML2&quot; acsIndex=&quot;1&quot; template=&quot;bindingTemplate.html&quot;/&gt;</font></div>
<div><font face="courier new, monospace">                &lt;SessionInitiator type=&quot;Shib1&quot; acsIndex=&quot;5&quot;/&gt;</font></div><div><font face="courier new, monospace">                &lt;SessionInitiator type=&quot;WAYF&quot; acsIndex=&quot;5&quot; URL=&quot;<a href="https://wayf.example.org/WAYF">https://wayf.example.org/WAYF</a>&quot;/&gt;</font></div>
<div><font face="courier new, monospace">            &lt;/SessionInitiator&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">            &lt;!-- An example supporting the new-style of discovery service. --&gt;</font></div>
<div><font face="courier new, monospace">            &lt;SessionInitiator type=&quot;Chaining&quot; Location=&quot;/DS&quot; id=&quot;DS&quot; relayState=&quot;cookie&quot;&gt;</font></div><div><font face="courier new, monospace">                &lt;SessionInitiator type=&quot;SAML2&quot; acsIndex=&quot;1&quot; template=&quot;bindingTemplate.html&quot;/&gt;</font></div>
<div><font face="courier new, monospace">                &lt;SessionInitiator type=&quot;Shib1&quot; acsIndex=&quot;5&quot;/&gt;</font></div><div><font face="courier new, monospace">                &lt;SessionInitiator type=&quot;SAMLDS&quot; URL=&quot;<a href="https://ds.example.org/DS/WAYF">https://ds.example.org/DS/WAYF</a>&quot;/&gt;</font></div>
<div><font face="courier new, monospace">            &lt;/SessionInitiator&gt;</font></div><div><font face="courier new, monospace">            </font></div><div><font face="courier new, monospace">            &lt;!--</font></div>
<div><font face="courier new, monospace">            md:AssertionConsumerService locations handle specific SSO protocol bindings,</font></div><div><font face="courier new, monospace">            such as SAML 2.0 POST or SAML 1.1 Artifact. The isDefault and index attributes</font></div>
<div><font face="courier new, monospace">            are used when sessions are initiated to determine how to tell the IdP where and</font></div><div><font face="courier new, monospace">            how to return the response.</font></div>
<div><font face="courier new, monospace">            --&gt;</font></div><div><font face="courier new, monospace">            &lt;md:AssertionConsumerService Location=&quot;/SAML2/POST&quot; index=&quot;1&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;md:AssertionConsumerService Location=&quot;/SAML2/POST-SimpleSign&quot; index=&quot;2&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;md:AssertionConsumerService Location=&quot;/SAML2/Artifact&quot; index=&quot;3&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;md:AssertionConsumerService Location=&quot;/SAML2/ECP&quot; index=&quot;4&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:PAOS&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;md:AssertionConsumerService Location=&quot;/SAML/POST&quot; index=&quot;5&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:1.0:profiles:browser-post&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;md:AssertionConsumerService Location=&quot;/SAML/Artifact&quot; index=&quot;6&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:1.0:profiles:artifact-01&quot;/&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">            &lt;!-- LogoutInitiators enable SP-initiated local or global/single logout of sessions. --&gt;</font></div>
<div><font face="courier new, monospace">            &lt;LogoutInitiator type=&quot;Chaining&quot; Location=&quot;/Logout&quot; relayState=&quot;cookie&quot;&gt;</font></div><div><font face="courier new, monospace">                &lt;LogoutInitiator type=&quot;SAML2&quot; template=&quot;bindingTemplate.html&quot;/&gt;</font></div>
<div><font face="courier new, monospace">                &lt;LogoutInitiator type=&quot;Local&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;/LogoutInitiator&gt;</font></div><div><font face="courier new, monospace"><br>
</font></div><div><font face="courier new, monospace">            &lt;!-- md:SingleLogoutService locations handle single logout (SLO) protocol messages. --&gt;</font></div><div><font face="courier new, monospace">            &lt;md:SingleLogoutService Location=&quot;/SLO/SOAP&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;md:SingleLogoutService Location=&quot;/SLO/Redirect&quot; conf:template=&quot;bindingTemplate.html&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;md:SingleLogoutService Location=&quot;/SLO/POST&quot; conf:template=&quot;bindingTemplate.html&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;md:SingleLogoutService Location=&quot;/SLO/Artifact&quot; conf:template=&quot;bindingTemplate.html&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&quot;/&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">            &lt;!-- md:ManageNameIDService locations handle NameID management (NIM) protocol messages. --&gt;</font></div>
<div><font face="courier new, monospace">            &lt;md:ManageNameIDService Location=&quot;/NIM/SOAP&quot;</font></div><div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&quot;/&gt;</font></div>
<div><font face="courier new, monospace">            &lt;md:ManageNameIDService Location=&quot;/NIM/Redirect&quot; conf:template=&quot;bindingTemplate.html&quot;</font></div><div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect&quot;/&gt;</font></div>
<div><font face="courier new, monospace">            &lt;md:ManageNameIDService Location=&quot;/NIM/POST&quot; conf:template=&quot;bindingTemplate.html&quot;</font></div><div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&quot;/&gt;</font></div>
<div><font face="courier new, monospace">            &lt;md:ManageNameIDService Location=&quot;/NIM/Artifact&quot; conf:template=&quot;bindingTemplate.html&quot;</font></div><div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&quot;/&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">            &lt;!--</font></div><div><font face="courier new, monospace">            md:ArtifactResolutionService locations resolve artifacts issued when using the</font></div>
<div><font face="courier new, monospace">            SAML 2.0 HTTP-Artifact binding on outgoing messages, generally uses SOAP.</font></div><div><font face="courier new, monospace">            --&gt;</font></div><div><font face="courier new, monospace">            &lt;md:ArtifactResolutionService Location=&quot;/Artifact/SOAP&quot; index=&quot;1&quot;</font></div>
<div><font face="courier new, monospace">                Binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&quot;/&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">            &lt;!-- Extension service that generates &quot;approximate&quot; metadata based on SP configuration. --&gt;</font></div>
<div><font face="courier new, monospace">            &lt;Handler type=&quot;MetadataGenerator&quot; Location=&quot;/Metadata&quot; signing=&quot;false&quot;/&gt;</font></div><div><font face="courier new, monospace"><br></font></div>
<div><font face="courier new, monospace">            &lt;!-- Status reporting service. --&gt;</font></div><div><font face="courier new, monospace">            &lt;Handler type=&quot;Status&quot; Location=&quot;/Status&quot; acl=&quot;127.0.0.1&quot;/&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">            &lt;!-- Session diagnostic service. --&gt;</font></div><div><font face="courier new, monospace">            &lt;Handler type=&quot;Session&quot; Location=&quot;/Session&quot; showAttributeValues=&quot;false&quot;/&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">        &lt;/Sessions&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">        &lt;!--</font></div>
<div><font face="courier new, monospace">        Allows overriding of error template filenames. You can also add attributes with values</font></div><div><font face="courier new, monospace">        that can be plugged into the templates.</font></div>
<div><font face="courier new, monospace">        --&gt;</font></div><div><font face="courier new, monospace">        &lt;Errors supportContact=&quot;<a href="mailto:ken.demarest@gmail.com">ken.demarest@gmail.com</a>&quot;</font></div>
<div><font face="courier new, monospace">            logoLocation=&quot;/shibboleth-sp/logo.jpg&quot;</font></div><div><font face="courier new, monospace">            styleSheet=&quot;/shibboleth-sp/main.css&quot;/&gt;</font></div>
<div><font face="courier new, monospace">        </font></div><div><font face="courier new, monospace">        &lt;!-- Uncomment and modify to tweak settings for specific IdPs or groups. --&gt;</font></div><div><font face="courier new, monospace">        &lt;!-- &lt;RelyingParty Name=&quot;SpecialFederation&quot; keyName=&quot;SpecialKey&quot;/&gt; --&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">        &lt;!-- Chains together all your metadata sources. --&gt;</font></div><div><font face="courier new, monospace">        &lt;MetadataProvider type=&quot;Chaining&quot;&gt;</font></div>
<div><font face="courier new, monospace">            &lt;!-- Example of remotely supplied batch of signed metadata. --&gt;</font></div><div><font face="courier new, monospace">          </font></div><div><font face="courier new, monospace">            &lt;MetadataProvider type=&quot;XML&quot; backingFilePath=&quot;/etc/shibboleth/UTfed-metadata.xml&quot; uri=&quot;<a href="https://idm.utsystem.edu/downloads/UTfed-metadata.xml">https://idm.utsystem.edu/downloads/UTfed-metadata.xml</a>&quot;  reloadInterval=&quot;7200&quot;&gt;</font></div>
<div><font face="courier new, monospace">&lt;!--               &lt;MetadataFilter type=&quot;RequireValidUntil&quot; maxValidityInterval=&quot;2419200&quot;/&gt; --&gt;</font></div><div><font face="courier new, monospace">&lt;!--               &lt;MetadataFilter type=&quot;Signature&quot; certificate=&quot;fedsigner.pem&quot;/&gt; --&gt;</font></div>
<div><font face="courier new, monospace">            &lt;/MetadataProvider&gt;</font></div><div><font face="courier new, monospace">           </font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">            &lt;!-- Example of locally maintained metadata. --&gt;</font></div>
<div><font face="courier new, monospace">            &lt;!--</font></div><div><font face="courier new, monospace">            &lt;MetadataProvider type=&quot;XML&quot; file=&quot;partner-metadata.xml&quot;/&gt;</font></div>
<div><font face="courier new, monospace">            --&gt;</font></div><div><font face="courier new, monospace">        &lt;/MetadataProvider&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div>
<font face="courier new, monospace">        &lt;!-- Chain the two built-in trust engines together. --&gt;</font></div><div><font face="courier new, monospace">        &lt;TrustEngine type=&quot;Chaining&quot;&gt;</font></div>
<div><font face="courier new, monospace">            &lt;TrustEngine type=&quot;ExplicitKey&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;TrustEngine type=&quot;PKIX&quot;/&gt;</font></div>
<div><font face="courier new, monospace">        &lt;/TrustEngine&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">        &lt;!-- Map to extract attributes from SAML assertions. --&gt;</font></div>
<div><font face="courier new, monospace">        &lt;AttributeExtractor type=&quot;XML&quot; validate=&quot;true&quot; path=&quot;attribute-map.xml&quot;/&gt;</font></div><div><font face="courier new, monospace">        </font></div>
<div><font face="courier new, monospace">        &lt;!-- Use a SAML query if no attributes are supplied during SSO. --&gt;</font></div><div><font face="courier new, monospace">        &lt;AttributeResolver type=&quot;Query&quot; subjectMatch=&quot;true&quot;/&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">        &lt;!-- Default filtering policy for recognized attributes, lets other data pass. --&gt;</font></div><div><font face="courier new, monospace">        &lt;AttributeFilter type=&quot;XML&quot; validate=&quot;true&quot; path=&quot;attribute-policy.xml&quot;/&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">        &lt;!-- Simple file-based resolver for using a single keypair. --&gt;</font></div><div><font face="courier new, monospace">        &lt;CredentialResolver type=&quot;File&quot; key=&quot;sp-key.pem&quot; certificate=&quot;sp-cert.pem&quot;/&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">        &lt;!-- Example of a second application (using a second vhost) that has a different entityID. --&gt;</font></div><div>
<font face="courier new, monospace">        &lt;!-- &lt;ApplicationOverride id=&quot;admin&quot; entityID=&quot;<a href="https://admin.example.org/shibboleth">https://admin.example.org/shibboleth</a>&quot;/&gt; --&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">    &lt;/ApplicationDefaults&gt;</font></div><div><font face="courier new, monospace">    </font></div><div><font face="courier new, monospace">    &lt;!-- Each policy defines a set of rules to use to secure messages. --&gt;</font></div>
<div><font face="courier new, monospace">    &lt;SecurityPolicies&gt;</font></div><div><font face="courier new, monospace">        &lt;!--</font></div><div><font face="courier new, monospace">        The predefined policy enforces replay/freshness, standard</font></div>
<div><font face="courier new, monospace">        condition processing, and permits signing and client TLS.</font></div><div><font face="courier new, monospace">        --&gt;</font></div><div><font face="courier new, monospace">        &lt;Policy id=&quot;default&quot; validate=&quot;false&quot;&gt;</font></div>
<div><font face="courier new, monospace">            &lt;PolicyRule type=&quot;MessageFlow&quot; checkReplay=&quot;true&quot; expires=&quot;60&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;PolicyRule type=&quot;Conditions&quot;&gt;</font></div>
<div><font face="courier new, monospace">                &lt;PolicyRule type=&quot;Audience&quot;/&gt;</font></div><div><font face="courier new, monospace">                &lt;!-- Enable Delegation rule to permit delegated access. --&gt;</font></div>
<div><font face="courier new, monospace">                &lt;!-- &lt;PolicyRule type=&quot;Delegation&quot;/&gt; --&gt;</font></div><div><font face="courier new, monospace">            &lt;/PolicyRule&gt;</font></div><div>
<font face="courier new, monospace">            &lt;PolicyRule type=&quot;ClientCertAuth&quot; errorFatal=&quot;true&quot;/&gt;</font></div><div><font face="courier new, monospace">            &lt;PolicyRule type=&quot;XMLSigning&quot; errorFatal=&quot;true&quot;/&gt;</font></div>
<div><font face="courier new, monospace">            &lt;PolicyRule type=&quot;SimpleSigning&quot; errorFatal=&quot;true&quot;/&gt;</font></div><div><font face="courier new, monospace">        &lt;/Policy&gt;</font></div>
<div><font face="courier new, monospace">    &lt;/SecurityPolicies&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">&lt;/SPConfig&gt;</font></div></div><div>
<br></div><div>And here is the relevant part of the apache configuration:</div><div><br></div><div><div><font face="courier new, monospace">&lt;IfModule mod_ssl.c&gt;</font></div><div><font face="courier new, monospace">&lt;VirtualHost _default_:443&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>ErrorDocument 503 /503.html</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>RewriteEngine on</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>RewriteCond %{DOCUMENT_ROOT}/../tmp/stop.txt -f</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>RewriteCond %{DOCUMENT_ROOT}/${REQUEST_FILENAME} !-f</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>RewriteRule ^(.*)$ /$1 [R=503,L]</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>ServerName <a href="http://www.appsoma.com">www.appsoma.com</a></font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>DocumentRoot /webapps/hsc/current/public</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;Directory /webapps/hsc/current/public&gt;</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>Allow from all</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>Options -MultiViews</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;/Directory&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;Location /auth/shibboleth/callback&gt;</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span># this Location directive is what redirects apache over to the IdP.</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>AuthType shibboleth</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>ShibRequestSetting requireSession 1</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>require valid-user</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;/Location&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;Location /Shibboleth.sso&gt;</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>Satisfy Any</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>Allow from all</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>AuthType None</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>Require all granted</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;/Location&gt;</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>ErrorLog ${APACHE_LOG_DIR}/error.log</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>LogLevel warn</font></div><div><font face="courier new, monospace"><br>
</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>CustomLog ${APACHE_LOG_DIR}/access.log combined</font></div><div><font face="courier new, monospace"><br></font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>SSLEngine on</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>SSLCertificateFile    /etc/apache2/ssl/appsoma.com.crt</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>SSLCertificateKeyFile /etc/apache2/ssl/appsoma.com.key</font></div><div><font face="courier new, monospace"><br></font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;FilesMatch &quot;\.(cgi|shtml|phtml|php)$&quot;&gt;</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>SSLOptions +StdEnvVars</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;/FilesMatch&gt;</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;Directory /usr/lib/cgi-bin&gt;</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>SSLOptions +StdEnvVars</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;/Directory&gt;</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>BrowserMatch &quot;MSIE [2-6]&quot; \</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>nokeepalive ssl-unclean-shutdown \</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>downgrade-1.0 force-response-1.0</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span># MSIE 7 and newer should be able to use keepalive</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>BrowserMatch &quot;MSIE [17-9]&quot; ssl-unclean-shutdown</font></div><div><font face="courier new, monospace"><br></font></div>
<div><font face="courier new, monospace">&lt;/VirtualHost&gt;</font></div><div><font face="courier new, monospace">&lt;/IfModule&gt;</font></div></div><div><br></div><div>Any and all help is much appreciated!!</div><div><br>
</div><div>Ken Demarest</div><div><br></div><div><br></div><div><br></div>