Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Requirements

...

Code Block
<VirtualHost _default_:443>
        ErrorLog ${APACHE_LOG_DIR}/ssl_error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/ssl_access.log vhost_combined
        ServerName powerfolder.organization.net
        ServerAdmin support@organization.net

        DocumentRoot "/var/www/default"
 
        # Set strict transport security:  https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
        Header always set Strict-Transport-Security "max-age=31536000;"

        SSLEngine on
        SSLCertificateFile    /etc/ssl/certs/powerfolder.organization.net.pem
        SSLCertificateKeyFile /etc/ssl/private/powerfolder.organization.net.key
 
		RewriteEngine On
 
        <Location /login/shibboleth>
                AuthType shibboleth
                ShibRequestSetting requireSession 1
                <RequireAll>
                       Require valid-user
                       Require shib-attr entitlement ~ http://idm.org/entitlement/organization-PowerFolder http://powerfolder.organization.net/entitlement/DFN-Cloud
                </RequireAll>
        </Location>

        <Location /Shibboleth.sso>
            satisfy Any
			Header set Access-Control-Allow-Origin "*"
        </Location>

        <Proxy balancer://pfcluster>
			BalancerMember http://pf01.organization.net:8080 route=nodeID01
			BalancerMember http://pf02.organization.net:8080 route=nodeID02
			BalancerMember http://pf03.organization.net:8080 route=nodeID03
			ProxySet stickysession=rpcid|JSESSIONID|jsessionid scolonpathdelim=On lbmethod=bybusyness
        </Proxy>

        ProxyPass               /rpc                    balancer://pfcluster/rpc nocanon
        ProxyPass               /rpc                    !
        ProxyPass               /eds                    !
        ProxyPass               /Shibboleth.sso         !
        ProxyPass               /                       balancer://pfcluster/    nocanon
 
        		# Shibboleth-Attribute mapping to HTTP Headers for delivery to PF Server
        		# Source: https://wiki.powerfolder.com/display/EDUDE/Shibboleth
        		RequestHeader set SAML_ShibSAMLShib-Session-ID %{HTTP_ShibSAMLShib-Session-ID}e env=HTTP_ShibSAMLShib-Session-ID
        RequestHeader set SAML_Shib		RequestHeader set SAMLShib-Session-ID "" env=!HTTP_ShibSAMLShib-Session-ID
		RequestHeader set SAML_persistentSAMLpersistent-id %{HTTP_persistentSAMLpersistent-id}e env=HTTP_persistentSAMLpersistent-id
        		RequestHeader set SAML_persistentSAMLpersistent-id "" env=!HTTP_persistentSAMLpersistent-id
        		RequestHeader set SAML_uniqueIDSAMLuniqueID %{HTTP_uniqueIDSAMLuniqueID}e env=HTTP_uniqueID
        SAMLuniqueID
		RequestHeader set SAML_uniqueIDSAMLuniqueID "" env=!HTTP_uniqueID
        SAMLuniqueID
		RequestHeader set SAML_pairwiseSAMLpairwise-id %{HTTP_pairwiseSAMLpairwise-id}e env=HTTP_pairwiseSAMLpairwise-id
        		RequestHeader set SAML_pairwiseSAMLpairwise-id "" env=!HTTP_upairwiseSAMLupairwise-id
        		RequestHeader set SAML_eduPersonPrincipalNameSAMLeduPersonPrincipalName %{HTTP_eduPersonPrincipalNameSAMLeduPersonPrincipalName}e env=HTTP_eduPersonPrincipalName
        SAMLeduPersonPrincipalName
		RequestHeader set SAML_eduPersonPrincipalNameSAMLeduPersonPrincipalName "" env=!HTTP_eduPersonPrincipalName
        SAMLeduPersonPrincipalName
		RequestHeader set SAML_eppnSAMLeppn %{HTTP_eppnSAMLeppn}e env=HTTP_eppn
        SAMLeppn
		RequestHeader set SAML_eppnSAMLeppn "" env=!HTTP_eppn
        SAMLeppn
		RequestHeader set SAML_EPPNSAMLEPPN %{HTTP_EPPNSAMLEPPN}e env=HTTP_EPPN
        SAMLEPPN
		RequestHeader set SAML_EPPNSAMLEPPN "" env=!HTTP_EPPN
        SAMLEPPN
		RequestHeader set SAML_mailSAMLmail %{HTTP_mailSAMLmail}e env=HTTP_mail
        SAMLmail
		RequestHeader set SAML_mailSAMLmail "" env=!HTTP_mail
        SAMLmail
		RequestHeader set SAML_emailSAMLemail %{HTTP_emailSAMLemail}e env=HTTP_email
        SAMLemail
		RequestHeader set SAML_emailSAMLemail "" env=!HTTP_email
        SAMLemail
		RequestHeader set SAML_givenNameSAMLgivenName %{HTTP_givenNameSAMLgivenName}e env=HTTP_givenName
        SAMLgivenName
		RequestHeader set SAML_givenNameSAMLgivenName "" env=!HTTP_givenName
        SAMLgivenName
		RequestHeader set SAML_snSAMLsn %{HTTP_snSAMLsn}e env=HTTP_sn
        SAMLsn
		RequestHeader set SAML_snSAMLsn "" env=!HTTP_sn
        SAMLsn
		RequestHeader set SAML_surnameSAMLsurname %{HTTP_surnameSAMLsurname}e env=HTTP_surname
        SAMLsurname
		RequestHeader set SAML_surnameSAMLsurname "" env=!HTTP_surname
        SAMLsurname
		RequestHeader set SAML_affiliationSAMLaffiliation %{HTTP_affiliationSAMLaffiliation}e env=HTTP_affiliation
        SAMLaffiliation
		RequestHeader set SAML_affiliationSAMLaffiliation "" env=!HTTP_affiliation
        SAMLaffiliation
		RequestHeader set SAML_eduPersonScopedAffiliationSAMLeduPersonScopedAffiliation %{HTTP_eduPersonScopedAffiliationSAMLeduPersonScopedAffiliation}e env=HTTP_eduPersonScopedAffiliation
        SAMLeduPersonScopedAffiliation
		RequestHeader set SAML_eduPersonScopedAffiliationSAMLeduPersonScopedAffiliation "" env=!HTTP_eduPersonScopedAffiliation
        SAMLeduPersonScopedAffiliation
		RequestHeader set SAML_entitlementSAMLentitlement %{HTTP_entitlementSAMLentitlement}e env=HTTP_entitlement
        SAMLentitlement
		RequestHeader set SAML_entitlementSAMLentitlement "" env=!HTTP_entitlement
        SAMLentitlement
		RequestHeader set SAML_eduPersonEntitlementSAMLeduPersonEntitlement %{HTTP_eduPersonEntitlementSAMLeduPersonEntitlement}e env=HTTP_eduPersonEntitlementSAMLeduPersonEntitlement
		RequestHeader set SAML_eduPersonEntitlementSAMLeduPersonEntitlement "" env=!HTTP_eduPersonEntitlementSAMLeduPersonEntitlement
		# Organization attribute. Must match entry 'shibboleth.organizations.attribute' in PowerFolder.config. Default: o
        		RequestHeader set SAML_oSAMLo %{HTTP_oSAMLo}e env=HTTP_oSAMLo
		RequestHeader set SAML_oSAMLo "" env=!HTTP_oSAMLo
</VirtualHost>