paint-brush
AWS Elastic load balance and CORS issuesby@xameeramir
19,264 reads
19,264 reads

AWS Elastic load balance and CORS issues

by Zameer AnsariApril 5th, 2018
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

We have an <a href="https://angular.io/" target="_blank">Angular 4</a> front end hosted on <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html" target="_blank">AWS S3 bucket</a>, with an <a href="https://aws.amazon.com/elasticloadbalancing/" target="_blank">AWS elastic load balancer</a> behind which we have multiple <a href="https://aws.amazon.com/ec2/" target="_blank">EC2 servers</a> each running a <a href="http://pm2.keymetrics.io/" target="_blank">pm2</a> service behind an <a href="https://www.nginx.com/" target="_blank">nginx</a> proxy.
featured image - AWS Elastic load balance and CORS issues
Zameer Ansari HackerNoon profile picture

credit

In one of my projects, I’m getting issues while connecting to AWS load balancers - I have written this post to secure my studies in this regard.

We have an Angular 4 front end hosted on AWS S3 bucket, with an AWS elastic load balancer behind which we have multiple EC2 servers each running a pm2 service behind an nginx proxy.

The REST requests from the front end reaches the server without CORS issues:

  • without the AWS elastic load balancer and directly to the EC2 server

The REST requests breaks with the CORS errors from the front end and not reaches the server:

  • with the AWS elastic load balancer and not directly to the EC2 server

Although we’re not yet successful but these are the stuff (as per @agentspacecake) which we have tried so far:

  1. Allowed CORS in the S3 bucket, example config — done
  2. Allowed CORS in the back end using CORS node module — done
  3. Allowed CORS in the nginx proxy using the CORS headers — done
  4. Allow CORS on the load balancer’s front — not done

Based on my studies so far:

Requests only use the GET or POST HTTP methods. If the POST method is used, then Content-Type can only be one of the following: application/x-www-form-urlencoded, multipart/form-data, or text/plain.

Hope this helps to some extent.