17
votes

Hi i created ALB listener 443 and target group instance on 7070 port (not-ssl)

I can access instanceip:7070 without problem , but with https://elb-dns-name not able to access.. instance health check also failed with 302 code

ALB listener port https and instance is http protocol ,

when i browse with https://dns-name it redirecting to http://elb-dns-name

3

3 Answers

42
votes

you get 302 when performing URL redirection, any ELB Health check will look for success code 200 for the health check to pass. In ALB, this can be configured under health check in the ELB console.

To modify the health check settings of a target group using the console

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.
  2. On the navigation pane, under LOAD BALANCING, choose Target Groups. Select the target group.
  3. On the Health checks tab, choose Edit.
  4. On the Edit target group page, modify the setting Success Codes to 302 or as needed, and then choose Save.

enter image description here

1
votes

add this annotation in your ingress controller it will modify the success code and nodes will be in healthy state.

alb.ingress.kubernetes.io/success-codes: 200,404,301,302
0
votes

I run into the same issue recently, and as suggested by @SudharsanSivasankaran we have edited the health check settings at the target level.

But we have kept the 200 only status code and instead updated the path to directly hit the page the redirection goes to.

For instance if a website hosted under instance:80 needs the user to be logged on and redirect it to the /login page, all we need to do is add the /login path in the health check.