Значит, не работает ваш редирект и запрос http идет на порт, где ожидается https.
Предположения такие:
- есть какой-то еще механизм редиректа, например, перенаправление с 80 на 443 порт iptables
- что-то вы не показали в конфиге nginx (вообще, директива ssl on - устарела, попробуйте убрать ее отовсюду и сделайте listen 443 ssl;)
- самый глупый вариант, но тем не менее: запрос на урл site.ru:443
Я спрашивал, что именно происходит. Идет ли http запрос? Какой на него ответ? Какой код? 301? Есть ли в ответе заголовок Location и куда он указывает? На нужный ли url с https? Происходит ли обращение по адресу с https? Ошибка на каком этапе появляется?
Публичными надо делать те методы и свойства, которые являются, условно говоря, частью интерфейса, который ваш модуль предоставляет его пользователям.
Если вы делаете публичным то, что не является интерфейсом, а скорее часть реализации, внутренняя кухня вашего модуля, то кто-то (а то и вы сами) может задействовать это в своем коде. А потом захотите на своей внутренней кухне переставить кастрюли (изменить реализацию), и услышите мат из-за соседнего компа.
И вообще, до сервера что-то доходит? Посмотрите tcpdump'ом