NGINX Cors allow origin not match origin

Sziasztok!

A címben említett hiba fogad a böngészőbe folyamatosan.

Egy Apache-ről lett átköltöztetve a weboldal nginx-re. (Apache-n jó volt... csak az egy másik szerver volt ahhoz nem férek hozzá)

Hozzá van adva (elvileg) megfelelően az  add_header

 

add_header 'Access-Control-Allow-Origin' 'https://xy.hu' always;  (ezt probáltam *-al is)
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
add_header 'Access-Control-Allow-Credentials' 'true' always; (Ezt kitöröltem hátha de semmi)
add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Requested -With' always;

nginx reload megvolt mindig

location / {

     try_files $uri $uri/ /index.php?$args;

ide is beleraktam itt se volt jó
}

Sok sok mindenen végigmentem sajnos eredménytelenül.

Ötletek?

köszönöm
 

Hozzászólások

Pontosan milyen fejléceket ad vissza a szerver? A weboldal maga nem küldhet ki ilyen fejléceket, amik szigorúbbak? "Vary: Origin" is megy ki a válaszban?

Ha a response látszólag oké, akkor ott kezdeném, hogy mindegyik sort kivenném és egyesével tenném vissza (bár a 'not match origin' eléggé az elsőre sor hibájára utal), hogy kiderüljön melyikkel van gond.

Ha statikus fájlok (képek, js, css) esetén kapod a hibát, az lehet akár attól, hogy a böngésző a cache tartalmának validálásához HEAD requestet küld és azt nem engeded a második sorban. 

Lekértem curl -X OPTIONS -i https://xy.hu

 

HTTP/1.1 405 Not Allowed
Server: nginx
Date: Thu, 01 Jul 2021 21:33:48 GMT
Content-Type: text/html
Content-Length: 166
Connection: keep-alive
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Credentials: true

<html>
<head><title>405 Not Allowed</title></head>
<body bgcolor="white">
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx</center>
</body>
</html>

Illetve egy külső oldallal is.

Ezeket kaptam vissza

Betettem a location / {

try_files $uri $uri/ /index.php?$args;

if ($request_method = 'OPTIONS') {
           add_header 'Access-Control-Allow-Origin' '*' always;
           add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Origin,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type' always;
           add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
           add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
           add_header 'Access-Control-Allow-Credentials' 'true' always;
           add_header 'Access-Control-Max-Age' '1728000' always;
           return 200;
         }
         if ($request_method = 'GET') {
         add_header 'Access-Control-Allow-Origin' '*' always;
           add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Origin,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type' always;
           add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
           add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
           add_header 'Access-Control-Allow-Credentials' 'true' always;
           add_header 'Access-Control-Max-Age' '1728000' always;
         }
}

Most így néz ki de továbbra sem megy

a try_files -t tedd a végére.

location / {



if ($request_method = 'OPTIONS') {
           add_header 'Access-Control-Allow-Origin' '*' always;
           add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Origin,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type' always;
           add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
           add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
           add_header 'Access-Control-Allow-Credentials' 'true' always;
           add_header 'Access-Control-Max-Age' '1728000' always;
           return 200;
         }
         if ($request_method = 'GET') {
         add_header 'Access-Control-Allow-Origin' '*' always;
           add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Origin,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type' always;
           add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
           add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
           add_header 'Access-Control-Allow-Credentials' 'true' always;
           add_header 'Access-Control-Max-Age' '1728000' always;
         }
try_files $uri $uri/ /index.php?$args;
}

Chrome (gondolom a róka is) a consolban egész részletesen el szokta mondani, hogy mi baja a pre-flightnak