====== Problème CORS ====== Sur https://vps.arn-fai.net/ Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead[Learn More] fquery.min.js:2:21 Source map error: request failed with status 404 Resource URL: https://arn-fai.net/nav/lib/jquery/fquery.min.js Source Map URL: fQuery-1.10.2.min.map[Learn More] Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://arn-fai.net/nav/nav.json. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).[Learn More] Lecture : [[https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSMissingAllowOrigin]] Il semblerait que ça dise de configurer arn-fai.net Et de mettre à jour: ''Header set Access-Control-Allow-Origin 'origin-list' '' ===== Proof of concept ===== Je teste la ligne ''Header set Access-Control-Allow-Origin "*" ''dans ''/var/www/site-drupal/.htaccess'' Résultat: tout le site arn-fai.net est en erreur 500 ! Pourquoi ? Je change en : Header set Access-Control-Allow-Origin "*" Et le site remarche. Conclusion: le module ''mod_headers.c'' manque ! Je rajoute : root@web:/home/jmlibs# a2enmod headers root@web:/home/jmlibs# systemctl restart apache2 Et https://vps.arn-fai.net/ fonctionne toujours (sans erreur 500) et https://vps.arn-fai.net/ a bien le menu qui s'affiche avec les infos suivantes : Source map error: request failed with status 404 Resource URL: https://arn-fai.net/nav/lib/jquery/fquery.min.js Source Map URL: fQuery-1.10.2.min.map[Learn More] SecurityError: The operation is insecure. nav.js:169 ===== Solution ===== Maintenant, on va faire une config sérieuse. ==== Restreindre au site vpn.arn-fai.net ==== Si je mets ''Header set Access-Control-Allow-Origin "https://vps.arn-fai.net" '' C'est bon pour https://vps.arn-fai.net/ mais pas pour http://vps.arn-fai.net/ Alors je teste SetEnvIf Origin "https://vps.arn-fai.net$" AccessControlAllowOrigin=$0 Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin #Header set Access-Control-Allow-Origin "https://vps.arn-fai.net" Et c'est pareil SetEnvIf Origin "http(s)?://vps.arn-fai.net$" AccessControlAllowOrigin=$0 Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin #Header set Access-Control-Allow-Origin "https://vps.arn-fai.net" C'est bon pour les deux ! ==== Restreindre aux fichiers ressources ==== SetEnvIf Origin "http(s)?://vps.arn-fai.net$" AccessControlAllowOrigin=$0 Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin #Header set Access-Control-Allow-Origin "https://vps.arn-fai.net" Et c'est bon. Solution finale Je mets ça dans ''/etc/apache2/sites-enabled/arn-fai.net.conf'' au lieu du .htaccess apache2ctl restart Et c'est bon.