Le Cross-Origin Resource Sharing (CORS) est un mécanisme qui utilise des http-Header supplémentaires pour indiquer à un navigateur qu'une application Web s'exécutant sur une source (domaine) a la permission d'accéder à des ressources sélectionnées depuis un serveur ayant une source différente. Une application Web effectue une requête HTTP d'origines différentes lorsqu'elle demande une ressource qui a une source (domaine, protocole et port) autre que la sienne.

Pour que le WMS externe soit inclus dynamiquement dans un client Web SIG, les "CORS-Header" doivent être définis. Cela s'applique, par exemple, aux requêtes GetCapabilities, puisqu'elles renvoient du texte XML et aucune image.
Il est donc important que les organisations qui rendent le WMS public disponible fournissent les CORS-Header nécessaires pour que le WMS puisse également être utilisé dans le navigateur.

Les requêtes GetCapabilities ou GetFeatureInfo de WMS sont bloquées par les navigateurs actuels avec une " Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at ...".
Pour activer les requêtes GetCapabilities de n'importe quel domaine, le http-Header Access-Control-Allow-Origin "*" doit être inclus dans la livraison.

Configurations pour les serveurs web populaires Apache et nginx

Apache2:
Dans <Directory>, <Location>, <Files> ou <VirtualHost>:
Header set Access-Control-Allow-Origin "*"

nginx:
location / {
    add_header 'Access-Control-Allow-Origin' "*";
}

 

Plus d'informations :
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

https://enable-cors.org/server_apache.html

Chargement de la conversation