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

251
Views
Error de Access-Control-Allow-Origin en el servidor de AWS cuando el sitio web se abre a través de www

En el navegador, cuando abro mi sitio web escribiendo solo mywebsite.com , la solicitud de ajax llega con éxito a mi servicio web de descanso. Pero cuando escribo www.mywebsite.com , aparece el error: XMLHttpRequest no puede cargar http://mywebsite.com/path La respuesta a la solicitud de verificación previa no pasa la verificación de control de acceso: No 'Access-Control-Allow-Origin' el encabezado está presente en el recurso solicitado. Origen ' http://www.mywebsite.com ' por lo tanto, no se permite el acceso.

La solicitud Jquery ajax es-

return $.ajax({ url: " http://mywebsite.com/path/ ", escriba: "POST",

El sitio web se implementa en el servidor de AWS y, a continuación, se muestra la configuración de CORS

 <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <ExposeHeader>x-amz-server-side-encryption</ExposeHeader> <ExposeHeader>x-amz-request-id</ExposeHeader> <ExposeHeader>x-amz-id-2</ExposeHeader> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration>

No puedo encontrar la solución de por qué agregar www crea un problema.

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Resulta que su sitio no está en Amazon S3, por lo que no estoy seguro de por qué mostró un ejemplo de edición de una configuración CORS en un depósito S3.

Su sitio en realidad se está ejecutando en Apache Coyote en un servidor EC2.

El problema real aquí está en su javascript. En el archivo MarketProfile.js , tiene algunas cadenas mínimamente ofuscadas usando hexadecimal.

 return $.ajax({url:" \x68\x74\x74\x70\x3A\x2F\x2F\x62\x72\x65\x61\x6B\x69\x6E\x67\x74\x72\x61\x64 \x65\x2E\x63\x6F\x6D\x2F\x72\x65\x73\x74\x2F\x72\x65\x73\x74\x2F\x63\x6F\x6D \x62\x69\x6E\x65\x64

Eso es equivalente a esto:

 http://breakingtrade.com/rest/rest/combined

Cuando carga esto desde el sitio web principal, no es de origen cruzado. Cuando lo carga desde el sitio www, es una solicitud de origen cruzado, porque el nombre de host es diferente.

Solucionar esto debería ser tan simple como hacer que url sea una ruta absoluta simple, especificando solo '/rest/rest/combined' para esta cadena, en lugar de incluir 'http://breakingtrade.com' al principio de la cadena.

De lo contrario, deberá descubrir cómo hacer que su servidor o al menos este recurso en particular devuelva encabezados CORS ... pero si lo hace, por supuesto, querrá ser selectivo en qué orígenes permite, a menos que quiere que otras personas usen su servidor para agregar datos a sus sitios web (lo que podría suceder mucho más fácilmente si permite que cualquier sitio haga una solicitud de origen cruzado).

about 4 years ago · Santiago Trujillo Report
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!