Con il mio setup NGinx sono stato in grado di intercettare le richieste OPTIONS da un preflight di ajax e rispondere con le intestazioni CORS corrette e una risposta di 200 in modo che la richiesta potesse proseguire in avanti. Sto tentando di consolidare i miei proxy di frontend in HAProxy e sto avendo alcuni problemi nel far funzionare questo pezzo del puzzle.HAProxy CORS OPTIONS setup intercetta intestazione
Il mio problema particolare è che mentre sono in grado di aggiungere le corrette opzioni CORS quando c'è un server in grado di rispondere correttamente a una richiesta OPTIONS, alcuni dei backend non possono gestire/rispondere con un errore 405 quando la richiesta di preflight è rilasciato Il mio haproxy.cfg incluse le seguenti righe per aggiungere le intestazioni:
capture request header origin len 128
http-response add-header Access-Control-Allow-Origin %[capture.req.hdr(0)] if { capture.req.hdr(0) -m found }
rspadd Access-Control-Allow-Credentials:\ true if { capture.req.hdr(0) -m found }
rspadd Access-Control-Allow-Headers:\ Origin,\ X-Requested-With,\ Content-Type,\ Origin,\ User-Agent,\ If-Modified-Since,\ Cache-Control,\ Accept if { capture.req.hdr(0) -m found }
rspadd Access-Control-Allow-Methods:\ GET,\ POST,\ PUT,\ DELETE,\ OPTIONS if { capture.req.hdr(0) -m found }
rspadd Access-Control-Max-Age:\ 1728000 if { capture.req.hdr(0) -m found }
la soluzione data a:
How to send a response with HAProxy without passing the request to web servers opere quando si impostano tutte le intestazioni corrette da richiesta di un cliente, ma non è dinamica, che è non è una soluzione ideale.
Qualsiasi aiuto sarebbe apprezzato!
Sto ottenendo [2016-04-19 12: 49: 54.625] uaa - 5213 [http-bio-8080-exec-5] .... DEBUG --- CorsFilter: elaborazione CORS completata per: URI:/login.do; Schema: https; Host: uaa.testinception25.io; Porta: 443; Origine: https://skyfallui-testinception25.com; Metodo: POST Status: 403 Aiutatemi l'impostazione haproxy per questo –