Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have configured an AWS ELB to point to my Ubuntu Server running the Wordpress 3.2.1. Everything worked great on the server until I put it behind a load balancer.

I setup the load balancer to forward port 80 to port 80 and port 443 to port 80.

I setup my virtual hosts file to check for the headers from the elb:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule !/status https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

Now whenever I go to an https url I get this message:

This webpage has a redirect loop
The webpage at https://mywebsite.com/securepage/ has resulted in too many redirects

As soon as I disable the wordpress https plugin
(http://wordpress.org/extend/plugins/wordpress-https/)
The pages work but are now full of mixed content. pages that should be https are no longer https.

As soon as I access the server directly instead of through the elb it works again.

Any ideas on how I could get this to work with an AWS ELB?

share|improve this question
    
have you update the permalink? usually we have to update the permalink setting on wordpress –  user905953 Aug 24 '11 at 20:45
add comment

1 Answer

up vote 4 down vote accepted

I would hazard a guess without you posting your ELB configuration that the ELB is redirecting HTTPS (443/tcp) traffic to the EC2 instance on HTTP (80/tcp). Then you're .htaccess and plugin are trying to redirect it back to HTTPS because it is being seen over HTTP.

Go take a look at your EC2 console under Network & Security > Load Balancers and I would imagine you'll see the Port Configuration says something along the lines of 443 forwarding to 80 (HTTPS, Certificate: blah)

share|improve this answer
1  
This person here was having the same problem. forums.aws.amazon.com/… –  ChickenFur Aug 24 '11 at 22:40
1  
and this one looks similar stackoverflow.com/questions/5741210/… –  ChickenFur Aug 24 '11 at 22:43
    
your right I am forwarding 443 to 80. –  ChickenFur Aug 24 '11 at 22:43
    
I've been running one of my clients under AWS for over 2 years now... When I read your question that's the first thing that popped into my head as suspect. –  Jeremy Bouse Aug 25 '11 at 0:56
1  
Changing the LB to point from 443 to 443 fixed it :) Thanks! –  ChickenFur Aug 25 '11 at 19:53
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.