Назад | Перейти на главную страницу

Как устранить ошибку «SSL получил запись, длина которой превышает максимально допустимую» в apache2?

На сайте, который я только что настроил в Apache 2, появляется следующая ошибка:

SSL получил запись, длина которой превышает максимально допустимую

Исправления, которые я видел вокруг, предполагают, что исправление заключается в том, чтобы убедиться, что сайт по умолчанию-ssl включен, что я сделал, но все еще получаю ошибку.

Обычно это означает, что вы отправляете запрос HTTPS службе HTTP. Сообщение от браузера, в котором он жалуется, что не смог завершить ожидаемое подтверждение SSL.

у вас есть

SSLEngine on

настроил для этого vhost?

Эту ошибку можно получить, если конфигурация вашего виртуального хоста неполна и зависит от ssl.conf (установлен поставщик), чтобы выполнить настройку за вас. Например, если у вас есть что-то вроде этого (RHEL7 / httpd 2.4):

/etc/httpd/conf.d/confluence.conf

<VirtualHost *:443>
    ServerName  localhost.localdomain
    DocumentRoot /var/www/html
</VirtualHost>

/var/www/html/index.html

helo

Тогда потому что confluence.conf стоит по алфавиту перед ssl.conf, виртуальный хост SSL еще не был оценен, и httpd будет использовать порт 443 для обслуживания незашифрованных данных, что вы можете доказать следующим образом:

[root@localhost ~]# curl https://localhost.localdomain 
curl: (35) SSL received a record that exceeded the maximum permissible length.
[root@localhost ~]# curl http://localhost.localdomain:443   
helo

В этом случае мы видим второй curl работает, потому что соединение на порту 443 говорит просто http.

Если мы переименуем confluence.conf быть в алфавитном порядке после ssl.conf, то порт SSL будет настроен, и все начнет работать, например:

[root@localhost vagrant]# curl https://localhost.localdomain -k
curl: (35) SSL received a record that exceeded the maximum permissible length.
[root@localhost vagrant]# mv /etc/httpd/conf.d/confluence.conf /etc/httpd/conf.d/t.conf         
[root@localhost vagrant]# systemctl restart httpd
[root@localhost vagrant]# curl https://localhost.localdomain -k
helo

Моя рекомендация исправить это - настроить mod_ssl в пределах VirtualHost директива:

<VirtualHost *:443>
    ...
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/localhost.crt
    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
</VirtualHost>

В качестве альтернативы переименование файла, содержащего VirtualHost определение в алфавитном порядке после ssl.conf будет работать, но этот метод можно легко упустить из виду.

Re: изменение с <VirtualHost 123.456.789.0:443> к <VirtualHost default:443>, Я нашел прямо противоположное с Apache 2.2.15 на CentOS6; когда я изменился с <VirtualHost _default_:443> к <VirtualHost 123.456.789.0:443>;

Я получил ошибку при перезапуске Apache:

[ошибка] VirtualHost 123.456.789.0:443 - смешивание * портов и не * портов с адресом NameVirtualHost не поддерживается, результат не определен.

Тем не менее, сертификат был обслужен, и после применения исключения сайт загрузился.

Это все увлекательное волшебство ...

до и после моего файла .cfg
У меня была эта проблема, и в конце концов я понял, что она работает в моей ситуации.

Что я изменил:

  • По умолчанию: режим и опции.
  • Frontend: bind & stats uri (у меня была опечатка).
  • Backend: изменено: 80 на: 443 (вот где была моя проблема).

Удачи!