Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

125
Views
Nginx Cors con POST

Estoy tratando de enviar una solicitud de publicación desde un javascript del lado del cliente (buscar) a mi servidor que usa Nginx como servidor web. El javascript del lado del cliente se ejecuta en un dominio diferente.

Tengo problemas para configurar Nginx para que responda con los encabezados adecuados, cuando pruebo la configuración a continuación, obtengo un 405 No permitido en la solicitud de verificación previa:

 location /cookie/ { root /myPlace; add_header Allow 'GET, POST, OPTIONS' always; add_header 'Access-Control-Allow-Origin' '$http_origin' always; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; add_header 'Access-Control-Allow-Credentials' 'true' always; add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always; index index.php; }

Cuando pruebo la configuración a continuación, la verificación previa es exitosa y contiene todos los encabezados necesarios para CORS, pero los principales errores de solicitud a MissingAllowOriginHeader , el error de la consola es el familiar encabezado No 'Access-Control-Allow-Origin' está presente en el solicitado recurso.

Aquí está la configuración que da como resultado el comportamiento descrito anteriormente:

 location /cookie/ { root /myPlace; add_header Allow 'GET, POST, OPTIONS' always; add_header 'Access-Control-Allow-Origin' '$http_origin' always; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; add_header 'Access-Control-Allow-Credentials' 'true' always; add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always; if ($request_method = 'OPTIONS') { add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'text/plain charset=UTF-8'; add_header 'Content-Length' 0; add_header 'Access-Control-Allow-Origin' '$http_origin' always; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; add_header 'Access-Control-Allow-headers' 'Content-Type' always; add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always; return 204; } index index.php; }

Lo extraño es que la solicitud principal en este caso no devuelve ningún encabezado CORS, aunque la verificación previa tiene todos los encabezados necesarios y no genera errores.

¿Alguna idea de cómo puedo superar estos errores de CORS?

Si ayuda, este es el código javascript que uso en el lado del cliente:

 let theData = { id: "123", }; fetch("https://myServer.com/cookie/", { method: 'POST', mode: 'cors', cache: 'no-cache', headers: { 'Content-Type': 'application/json' }, redirect: 'follow', body: JSON.stringify(theData), });

Gracias

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!