swagger-codegen icon indicating copy to clipboard operation
swagger-codegen copied to clipboard

CORS Error When Accessing Swagger API Deployed on AWS EC2

Open ashu1230 opened this issue 1 year ago • 0 comments

I have deployed a NestJS backend on an AWS EC2 instance. The Swagger UI is accessible, but when I try to hit the API using Swagger, I receive the following error:

ISSUE: Failed to fetch. Possible Reasons:

  1. CORS
  2. Network Failure
  3. URL Scheme must be "http" or "https" for CORS request.

Details: The API works correctly when tested directly on the EC2 instance (e.g., using curl). The Swagger UI is accessed via the public IP address of the EC2 instance. The error occurs when trying to access the API endpoint through the Swagger UI. My backend is running on http://localhost:3033, and the Swagger UI is being accessed via the public IP of the EC2 instance.

Troubleshooting Steps Taken: Confirmed that the backend API is accessible directly from the EC2 instance. Verified that the server is configured to handle CORS requests by setting the appropriate CORS headers in the NestJS application. Checked the network configurations and security groups in AWS EC2 to ensure proper access.

Environment: NestJS version: AWS EC2 Instance: Amazon linus(t2.micor). Swagger version: 6.0.5 Browser: Chrome, Edge Node.js version: Latest CORE: 9.0.0

Request URL: http://localhost:3033/api/v1/auth/signin

Screenshot: -

WhatsApp Image 2024-08-26 at 14 17 39_53833cbe

Question: How can I resolve this CORS issue, and what configurations are required to allow the Swagger UI to make successful API requests in this setup?

ashu1230 avatar Aug 27 '24 10:08 ashu1230