Partage
  • Partager sur Facebook
  • Partager sur Twitter

Configuration Apache

configuration requêtes cross-domain

Sujet résolu
    11 janvier 2018 à 9:33:05

    Je suis bloqué au niveau de la configuration d'Apache (Cross-Origine Request). Voici ce que ma console affiche :

    Blocage d’une requête multiorigines (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur http://localhost/javascript-web-srv/data/langages.txt. Raison : l’en-tête CORS « Access-Control-Allow-Origin » est manquant.
    Erreur réseau
    cours.js:                                                                                                                                                                                cours.js:13:5

    Voici mon code :

    // Création d'une requête HTTP
    var req = new XMLHttpRequest();
    // Requête HTTP GET synchrone vers le fichier langages.txt publié localement
    req.open("GET", "http://localhost/javascript-web-srv/data/langages.txt", false);
    // Envoi de la requête
    req.send(null);
    // Affiche la réponse reçue pour la requête
    console.log(req.responseText);


    Voici ce qu'il est dit de faire dans le cours :


    Configuration d'Apache

    Dans le chapitre précédent, nous avons abordé la question de la sécurité et des requêtes cross-domain. Afin de pouvoir interroger notre serveur sans restriction, nous allons modifier la configuration du serveur Apache en autorisant toutes les requêtes cross-domain.

    Il s'agit d'un réglage destiné à faciliter le développement en local sur la machine. Il est fortement déconseillé de paramétrer ainsi un véritable serveur sans une réflexion préalable sur les besoins.

    Pour cela, il faut modifier le fichier de configuration principal d'Apache, qui se nommehttpd.conf. Son emplacement dépend de l'installation d'Apache. Il se trouve souvent parmi d'autres fichiers de configuration dans un répertoire nomméconf, lui-même situé dans le répertoire où est installé Apache.

    Ouvrez le fichierhttpd.conf avec un éditeur de texte (par exemple Brackets) puis recherchez la ligne ci-dessous.

    LoadModule headers_module modules/mod_headers.so

    Cette ligne permet d'activer le module Apache de personnalisation des en-têtes de requêtes HTTP. Elle ne doit pas commencer par un caractère#(qui place la suite de la ligne en commentaire). Si c'est le cas, supprimez le caractère#.Ensuite, ajoutez les lignes suivantes à la fin du fichier.

    <IfModule mod_headers.c>
    # Accept cross-domain requests
    Header always set Access-Control-Allow-Origin "*"
    </IfModule>

    Sauvegardez vos modifications, puis arrêtez et relancez Apache.

    Voici ce que j'ai fait pour configurer Apache et pourtant ça ne marche pas : je ne sais pas là où ça cloche.

    Voici ma démarche pour retrouver le fichier à modifier : C:\wamp641\bin\apache\apache2.4.27\conf

    Ensuite il y a deux dossiers : extra et original. J'ai ouvert les deux dossier dans Brackets. J'ai trouvé dans le dossier original, un fichier httpd.conf qui ne s'ouvre pas et un autre httpd.conf qui s'ouvre sous extra. J'ai fait les modifications comme indiquée :

    #LoadModule filter_module modules/mod_filter.so
    #LoadModule http2_module modules/mod_http2.so
     LoadModule headers_module modules/mod_headers.so
    #LoadModule heartbeat_module modules/mod_heartbeat.so
    #LoadModule heartmonitor_module modules/mod_heartmonitor.so




    et ensuite j'ai ajouté à la fin du fichier en bas :

    <IfModule mod_headers.c>
        # Accept cross-domain requests
        Header always set Access-Control-Allow-Origin "*"
    </IfModule>

    Cependant rien ne marche ; à l'aide !

    • Partager sur Facebook
    • Partager sur Twitter
      11 janvier 2018 à 13:42:13

      Salut

      Essaie de faire ta requête sur l'IP locale au lieu du nom d'hote par exemple 'http://127.0.0.1/.' à la place de 'http://localhost' 

      • Partager sur Facebook
      • Partager sur Twitter
        12 janvier 2018 à 13:57:20

        Bonjour LCaba,

        Je viens d'essayer et ça ne marche toujours pas. Merci quand même.

        • Partager sur Facebook
        • Partager sur Twitter
          15 février 2018 à 16:14:21

          J'avais le même souci. Chez moi, le fait de mettre :

          req.open("GET", "http://127.0.0.1/javascript-web-srv/data/langages.txt", false);

          a réglé le problème.

          • Partager sur Facebook
          • Partager sur Twitter
            23 février 2018 à 11:19:00

            Problème résolu, il y avait un problème de cache de l'ordinateur.
            • Partager sur Facebook
            • Partager sur Twitter
              6 mai 2018 à 10:01:48

              Bonjour,

              ...et comment as-tu résolu ce problème de cache ? parce que je pense avoir la même chose chez moi ;-)

              • Partager sur Facebook
              • Partager sur Twitter
                18 juin 2018 à 1:11:13

                Bonjour,

                Il faut vider le cache, tout dépend de ton navigateur, cherche comment vider le cache en précisant ton navigateur et tu aura la réponse sur le net.

                • Partager sur Facebook
                • Partager sur Twitter
                  26 octobre 2018 à 13:53:01

                  Bonjour,

                  Me voici confrontée aux mêmes difficultés (dans le cadre du même cours).

                  Merci pour tout les conseils donnés, sans eux je ne m'en serai jamais sortie :)

                  -
                  Edité par Aenae 26 octobre 2018 à 14:06:15

                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 février 2020 à 14:21:40

                    Il aurait pu se passer un bail avant que je comprenne qu'il faille clear le cache du navigateur.

                    Merci.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Configuration Apache

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown