How do I find the cause of http to https redirect loop?

Solution 1:

The reported configurations are fine. Is it possible other virtual host definitions are hiding?

Would you like to make sure with:

sudo apache2ctl -t -DDUMP_VHOSTS

then? A sane output is:

VirtualHost configuration:
*:80                   www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
*:443                  www.example.org (/etc/apache2/sites-enabled/default-ssl.conf:4)

(where :1 and :4 is the line number where the vhost is defined).