Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Dans une installation classique, le keystore par défaut de la JVM est suffisant

...

Bloc de code
languagexml
themeRDark
<VirtualHost *:80>
    ServerName esup-sgc.univ-ville.fr
    ServerAdmin webmaster@univ-ville.fr
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F]
    RewriteRule ^/(.*)$   https://esup-sgc.univ-ville.fr/$1   [L,R]
</VirtualHost>

<VirtualHost *:443>
    ServerName esup-sgc.univ-ville.fr
    ServerAdmin webmaster@univ-ville.fr
    DocumentRoot /var/www/html
    ErrorLog  ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLEngine on
    SSLCertificateFile    /etc/apache2letsencrypt/certslive/esup-sgc.crt.univ-ville.fr/cert.pem
    SSLCertificateKeyFile /etc/apache2letsencrypt/certslive/esup-sgc.key.univ-ville.fr/privkey.pem
    SSLCACertificateFileSSLCertificateChainFile  /etc/apache2/certs/CA.crtletsencrypt/live/esup-sgc.univ-ville.fr/chain.pem

    ProxyPass /Shibboleth.sso !
    ProxyPass /secure !
    ScriptAlias /secure /var/www/printenv.pl
    ShibCompatValidUser Off

    <Location /Shibboleth.sso>
        SetHandler shib
        AuthType None
        Require all granted
    </Location>
    <Location /shibboleth-sp>
        AuthType None
        Require all granted
    </Location>
    Alias /shibboleth-sp/main.css /usr/share/shibboleth/main.css
    <Location /secure>
        AuthType shibboleth
        ShibRequestSetting requireSession 1
        require shib-session
        ShibUseHeaders On
        ShibRequestSetting applicationId default
    </Location>
    <Location />
        AuthType shibboleth
        ShibRequestSetting requireSession 1
        require shib-session
        ShibUseHeaders On
        ShibRequestSetting applicationId default
    </Location>
   <Location "/resources">
        Require all granted
        ShibRequireSession Off
   </Location>
   <Location "/wsrest">
       Require all granted
       ShibRequireSession Off
   </Location>
   <Location "/payboxcallback">
       Require all granted
       ShibRequireSession Off
   </Location>

   ProxyPass / ajp://localhost:8209/ ttl=10 timeout=3600 retry=1

   <LocationMatch "^/(resources|webjars)">
      ExpiresActive On
      ExpiresByType text/css "access plus 1 hour"
      ExpiresByType text/javascript "access plus 1 hour"
      ExpiresByType application/javascript "access plus 1 hour"
      ExpiresByType image/gif "access plus 1 hour"
      ExpiresByType image/png "access plus 1 hour"
      ExpiresByType image/jpg "access plus 1 hour"
      ExpiresByType image/jpeg "access plus 1 hour"
      ExpiresByType application/x-shockwave-flash "access plus 1 hour"
      ExpiresByType image/x-icon  "access plus 1 hour"
   </LocationMatch>

   CacheRoot /var/cache/httpd/esup-sgc
   CacheDirLevels 2
   CacheDirLength 1
   CacheEnable disk /resources

   AddOutputFilterByType DEFLATE text/plain text/html text/css text/javascript application/x-javascript application/javascript application/json image/svg+xml


</VirtualHost>

...

Bloc de code
languagexml
themeRDark
<VirtualHost *:80>
    ServerName esup-nfc-tag.univ-ville.fr
    ServerAdmin webmaster@univ-ville.fr
    DocumentRoot /var/www/html
    ErrorLog  ${APACHE_LOG_DIR}/error_esup-nfc-tag.log
    CustomLog ${APACHE_LOG_DIR}/access_esup-nfc-tag.log combined
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F]
    RewriteRule ^/(.*)$   https://esup-nfc-tag.univ-ville.fr/$1   [L,R]
</VirtualHost>

<VirtualHost *:443>
    ServerName esup-nfc-tag.univ-ville.fr
    ServerAdmin webmaster@univ-ville.fr
    DocumentRoot /var/www/html
    ErrorLog  ${APACHE_LOG_DIR}/error_esup-nfc-tag.log
    CustomLog ${APACHE_LOG_DIR}/access_esup-nfc-tag.log combined
    SSLEngine on
    SSLCertificateFile    /etc/apache2letsencrypt/certslive/esup-nfc-tag.crt.univ-ville.fr/cert.pem
    SSLCertificateKeyFile /etc/apache2letsencrypt/certslive/esup-nfc-tag.key.univ-ville.fr/privkey.pem
    SSLCACertificateFileSSLCertificateChainFile  /etc/apache2letsencrypt/certs/CA.crtlive/esup-nfc-tag.univ-ville.fr/chain.pem

    ProxyPass /Shibboleth.sso !
    ProxyPass /secure !
    ScriptAlias /secure /var/www/printenv.pl
    ShibCompatValidUser Off
    <Location /Shibboleth.sso>
        SetHandler shib
        AuthType None
        Require all granted
    </Location>
    <Location /shibboleth-sp>
        AuthType None
        Require all granted
    </Location>
    Alias /shibboleth-sp/main.css /usr/share/shibboleth/main.css
    <Location /secure>
        AuthType shibboleth
        ShibRequestSetting requireSession 1
        require shib-session
        ShibUseHeaders On
        ShibRequestSetting applicationId esup-nfc-tag
    </Location>
    <Location /manager>
        AuthType shibboleth
        ShibRequestSetting requireSession 1
        require shib-session
        ShibUseHeaders On
        ShibRequestSetting applicationId esup-nfc-tag
    </Location>
    <Location /admin>
        AuthType shibboleth
        ShibRequestSetting requireSession 1
        require shib-session
        ShibUseHeaders On
        ShibRequestSetting applicationId esup-nfc-tag
    </Location>
    <Location /nfc>
        AuthType shibboleth
        ShibRequestSetting requireSession 1
        require shib-session
        ShibUseHeaders On
        ShibRequestSetting applicationId esup-nfc-tag
    </Location>

    ProxyPass / ajp://localhost:8309/ ttl=10 timeout=3600 retry=1


    <Location "/resources">
        ExpiresActive On
        ExpiresByType text/css "access plus 1 hour"
        ExpiresByType text/javascript "access plus 1 hour"
        ExpiresByType application/javascript "access plus 1 hour"
        ExpiresByType image/gif "access plus 1 hour"
        ExpiresByType image/png "access plus 1 hour"
        ExpiresByType image/jpg "access plus 1 hour"
        ExpiresByType image/jpeg "access plus 1 hour"
        ExpiresByType application/x-shockwave-flash "access plus 1 hour"
        ExpiresByType image/x-icon  "access plus 1 hour"
    </Location>

    CacheRoot /var/cache/httpd/esup-nfc-tag
    CacheDirLevels 2
    CacheDirLength 1
    CacheEnable disk /resources

    AddOutputFilterByType DEFLATE text/plain text/html text/css text/javascript application/x-javascript application/javascript application/json image/svg+xml

</VirtualHost>

...

A noter que l'applicationId du ShibRequestSetting diffère selon les VirtualHosts.
De plus, dans cet exemple, chaque VirtualHost dispose de son propre certificat. Il est tout à fait possible d'utiliser le même sous-réserve que les noms des deux VirtualHosts y soient indiqués (SAN).

Penser à intégrer ces certificats au keystore des tomcat. Par exemple:

En présentant la chaîne correctement et avec des certificats tels que proposés par Renater/Sectigo (les chemins ci-dessus correspondent à des exemples de chemins de certificats récupérés via le protocole ACME par certbot ... depuis Sectigo) le keystore par défaut de votre JVM suffira et vous n'avez pas besoin alors d'importer unitairement vos certificats dans le keystore java.

Si jamais vous avez un certificat issu d'une autorité de certification non reconnue par votre JVM (à proscrire) vous pouvez, en dernier recours, intégrer ce certificat au keystore ainsi par exemple:

Bloc de codecode
languagebash
themeRDark
keytool -genkey -alias mon_cert -keyalg RSA -keystore# on copie le cacerts initial pour conserver la confiance dans les autorités de certification racines par défaut
cp /etc/ssl/certs/java/cacerts /opt/esup.univ-ville.jks
# par défaut le password est changeit,on le modifie
keytool -storepasswd -keystore cacerts
# utile si on doit supprimer un ancien certificat expiré pour en mettre un nouveau
keytool -delete -alias mon_cert -keystore /opt/esup.univ-ville.jks
# on importe le certificat
keytool -import -file /etc/apache2/certs/esup-sgc.crt -alias sgc -trustcacerts -keystore /opt/esup.univ-ville.jks
keytool -import -file /etc/apache2/certs/esup-nfc-tag.crt -alias nfctag -trustcacerts -keystore 

À nouveau, normalement, avec un certificat valide et bien présenté, vous n'avez pas besoin de réaliser cette opération sur le keystore java et vous n'avez pas besoin de fait d'avoir ce fichier keystore /opt/esup.univ-ville.jks

...

 


Activer les sites:

Bloc de code
languagebash
themeRDark
a2dissite 000-default.conf
a2ensite  esup-sgc.univ-ville.fr
a2ensite  esup-nfc-tag.univ-ville.fr

...