Issue #15: HTTPS redirect