Articoli e notizie

Il blog di Eld Engineering

Eld Engineering Srls

Home > Articoli > Un’applicazione web Domino non esegue più js o css dopo l’aggiornamento del server

Un’applicazione web Domino non esegue più js o css dopo l’aggiornamento del server

da | 8 Feb 25 | Applicazioni, Supporto, Sviluppo Domino e Notes

Ci è recentemente capitato di aggiornare un server applicativo Domino da una versione veramente obsoleta; in realtà in questi casi non si può aggiornare ma si deve creare un nuovo server Windows per poi fare l’installazione di Domino da zero e trasferire tutti i file .nsf e quant’altro serva.

Non è un operazione nuova e già avevamo affrontato questi casi ma questa volta abbiamo avuto una novità: le applicazione trasferite sul nuovo server non funzionavano più correttamente .

Non si trattava di applicazioni particolarmente complesse, nessun uso uso di Xpages o componenti Java . Anzi, lo sviluppo di queste applicazioni è chiaramente datato (vent’anni ?) e quindi le tecnologie usate erano altrettanto vecchie ma per gli utenti erano funzionali e soddisfacenti così (come spesso capita con le applicazioni Domino !) .

Abbiamo iniziato ad investigare il problema ed abbiamo scoperto che semplicemente le applicazioni non caricavano correttamente dei file .js contenenti delle funzioni javascript e/o dei fogli di stile .css.

Aprendo l’applicazione da un browser attivandone gli strumenti per sviluppatori con F12 abbiamo trovato nella console dei messaggi il relativo errore:

Refused to execute script from 'xxxxxx.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
Refused to apply style from 'xxxxxx.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

Ovviamente a questo punto non venedo caricati i file .js e .css gran parte dell’applicazione non si comportava correttamente.

Dopo un po’ di ricerche abbiamo finalmente trovato la soluzione: delle applicazioni web potrebbero non funzionare più a causa dell’opzione X-Content-Type-Options: nosniff
inserita nell’header e che,per una maggiore sicurezza, è sempre incluso in una risposta http per tutti gli URL Domino dalla versione 10.0.1 FP4 .

Una volta capita la causa abbiamo anche trovato il workaround : si deve specificare nel notes.ini del server Domino una variabile grazie a cui l’header http non comprenderà di default questa opzione.

Quindi abbiamo aperto il notes.ini del server Domino ed abbiamo aggiunto questa riga:

 HTTP_DISABLE_X_CONTENT_TYPE_OPTIONS_NOSNIFF=1

Dopo aver salvato e fatto ripartire il server Domino tutto ha ripreso a funzionare correttamente.

Da un punto strettamente teorico la soluzione corretta sarebbe stata verificare il codice dell’applicazione in modo correggere eventuali errori o conformarlo agli standard attuali e quindi non avere bisogno di questo workaround ma si sa come vanno queste cose: la priorità era far funzionare il tutto nel minor tempo possibile , poi potremo verificare il codice .

Per ora anche questo problema è risolto!

Vi allego i link ai due documenti che ci hanno aiutato nella soluzione del problema:

https://support.hcl-software.com/community?id=community_question&sys_id=18caccfd1bcb2458a2f48661cd4bcb3d

https://support.hcl-software.com/csm?id=kb_article&sysparm_article=KB0077199

HCL Domino

0 commenti