4 votes

Comment configurer Apache pour gérer les demandes OPTIONS sans invoquer de script.

Nous avons construit un serveur RESTful avec CORS activé, ce qui signifie qu'il recevra des demandes OPTIONS des clients. Nous aimerions que le serveur Web gère celles-ci, pas notre serveur REST en aval. Comment pouvons-nous configurer Apache pour gérer ces demandes sans invoquer de scripts externes?

Dans NGINX, c'est quelque chose comme ceci:

   if ($request_method = OPTIONS ) {
        add_header Access-Control-Allow-Origin "*";
        add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS";
        add_header Access-Control-Allow-Headers "ACCEPT, ORIGIN, X-REQUESTED-WITH, CONTENT-TYPE, AUTHORIZATION";
        add_header Access-Control-Allow-Credentials "true";
        add_header Content-Length 0;
        add_header Content-Type text/plain;
        return 200;
   }

Mais nous ne trouvons pas un mécanisme similaire dans Apache. [edit] Le truc n'est pas de définir les en-têtes, c'est évident dans Apache, mais de renvoyer '200' de la demande sans invoquer de script externe. [/edit]

Nous en avons besoin pour nos serveurs de développement locaux qui ne fonctionnent pas avec NGINX. Merci!

1voto

KM. Points 1736

Pour définir ces en-têtes dans Apache httpd, consultez le mod_headers. Voici un exemple (trouvé après quelques recherches rapides) qui semble faire ce que vous cherchez : http://saulalbert.net/blog/access-control-allow-origin-xmlhttprequest-day-what-fun/

En passant, étant donné que votre configuration semble utiliser NGINX dans des environnements plus élevés, il serait judicieux d'utiliser également NGINX pour les serveurs de développement locaux, si possible.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X