Столкнулся с такой бедой, клиент после установки ssl на связке nginx+apache2, через ispmanager4 получал ошибку в браузере — Error code: ssl_error_rx_record_too_long.

При этом визуально на сервере все в порядке — nginx «слушает» нужные порты и адреса, апач тихонько работает на бекенде. Одно НО. Вхост добавлен одним блоком в nginx, т.е. с двумя listen:

server {
        server_name domain.com;
        listen IP;
        listen IP:443;

Как видите, в директиве listen для ссл, не указано доп. директива — ssl, которая как раз позволяет компактный режим, в котором возможно добавление вхостов на 80 и 443 порты одним блоком.

Сразу добавить её не удалось, т.к. она поддерживается начиная с 0.7.14 версии nginx-а, а на проблемной системе стоит debian squeezy и старый nginx.

Тут проблем не было, добавить репозиторий nginx для дебиана:

deb http://nginx.org/packages/debian/ squeeze nginx
deb-src http://nginx.org/packages/debian/ squeeze nginx

И оттуда провести upgrade.

Теперь имеем:

# nginx -v
nginx version: nginx/1.8.0

После этого приводим конфиг к:

server {
        server_name domain.com;
        listen IP;
        listen IP:443 ssl;

И наслаждаемся результатом.