Implementé mi servidor Backend/API en una instancia de AWS EC2, que se está cargando sin SSL y la URL es como, ' http://ec2-67-ap-southeast-3.compute.amazonaws.com '
Y he implementado mi React Frontend/Client usando la consola AWS AMPLIFY . Que agrega automáticamente SSL a la URL de la sucursal de producción y la URL es como https://branch.d3as6d542.amplifyapp.com
Ahora el problema es que no puedo realizar ninguna solicitud API/HTTP a mi servidor desde el cliente. Y obteniendo el siguiente error,
Mixed Content: The page at 'https://branch.d3as6d542.amplifyapp.com' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://ec2-67.ap-southeast-3.compute.amazonaws.com/api/profile'. This request has been blocked; the content must be served over HTTPS.Puedo realizar esta llamada a la API desde el entorno de desarrollo localhost de mi cliente. Pero se obtiene un error de AWS AMPLIFY SERVER debido a una coincidencia incorrecta de HTTP.
¿Cómo puedo resolver el problema o hay alguna forma de eliminar el SSL de AWS AMPLIFY agregado automáticamente?
Puede usar cors en todas partes proxy. Está alojado como https y es un proxy, por lo que solo necesita agregarlo antes de la URL del punto final de su API.
Ex. http://myapi.com/v1/users se puede escribir comohttps://cors-everywhere.herokuapp.com/http://myapi.com/v1/users
Esto hará el truco. Personalmente estoy usando esto para la misma configuración que mencionaste.
Y si no le gusta usar su proxy, puede crear su propio proxy.
Puede crear una distribución de CloudFront de su backend con soporte https.
En lugar de AWS Amplify, puede ejecutar su interfaz en S3, si no desea la autenticación. Simplemente cree su aplicación de reacción y cargue los archivos de compilación y configure correctamente el acceso en AWS.
No obtendrá el problema de contenido mixto porque el punto de enlace de AWS S3 también es http.