Apache SSL получил запись, превышающую максимально допустимую длину - PullRequest
0 голосов
/ 22 марта 2012

У меня ошибка при выполнении запроса https:

SSL получил запись, превышающую максимально допустимую длину.
(Код ошибки: ssl_error_rx_record_too_long)

Я запускаю его на Windows 7 с Apache 2.x, и мои настройки Apache vhost:

<VirtualHost *:80>  
    ServerName repocenter.com  
    ServerAlias www.repocenter.com  
    ServerAdmin root@repocenter.com  
    <Proxy *>  
        Order allow,deny  
        Allow from all  
    </Proxy>  
    ProxyPreserveHost On  
    ProxyPass / http://192.168.210.1:9991/  
    ProxyPassReverse / http://192.168.210.1:9991/  
    SetEnvIf X-Url-Scheme https HTTPS=1  
    CustomLog logs/repocenter.com-access.log common  
    ErrorLog logs/repocenter.com-error.log  
</VirtualHost>  

<VirtualHost _default_:443>   
    ServerName repocenter.com:443  
    ServerAlias www.repocenter.com:443   
    ServerAdmin root@repocenter.com       
    <Proxy *>  
        Order allow,deny  
        Allow from all  
    </Proxy>  
    ProxyPreserveHost On  
    ProxyPass / http://192.168.210.1:9991/  
    ProxyPassReverse / http://192.168.210.1:9991/  
    SetEnvIf X-Url-Scheme https HTTPS=1     
</VirtualHost>  

Это ошибка синтаксиса и как я могу ее исправить?

Ответы [ 2 ]

2 голосов
/ 16 апреля 2012

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

0 голосов
/ 13 февраля 2017
  1. Файл /conf/extra/httpd-ssl.conf был настроен с правильной информацией SSL, но не загружается, поскольку httpd.conf не загружает его.

    Чтобы исправить эту ошибку, раскомментируйте следующую строку (удалите #). Затем перезапустите Apache.

    #Include conf/extra/httpd-ssl.conf
    
  2. Apache не настроен на прослушивание порта 443 для безопасного трафика. Чтобы это исправить, добавьте следующую строку перед загрузкой блока <VirtualHost>:

    Listen 443
    

    Если вы используете IPv6, вам нужно будет указать IP-адрес и порт:

    Listen 192.168.0.1:443
    
  3. Если вы используете HTTPS на нестандартном порту, вам нужно указать Apache прослушивать SSL-соединение для этого порта:

    Listen 192.168.0.1:8443 https
    
  4. Если вы видите вышеупомянутое внутри блока <If DefineSSL>, вам нужно убедиться, что вы определяете SSL при запуске Apache. Обычно SSL должен быть определен сам по себе, но если он не определен, вы можете попробовать следующие команды для более ранних версий Apache 2:

    path/to/httpd -D SSL -k start
    path/to/apachectl startssl
    path/to/httpd startssl
    
  5. Если вы используете Apache под Windows, убедитесь, что файл хоста на сервере Windows настроен правильно. Это должно быть в C:\Windows\System32\Drivers\etc\hosts. Некоторые люди исправляют эту ошибку, изменяя VirtualHost your.domain.com:443 на VirtualHost _default_:443 и т. Д.

  6. Убедитесь, что в блоке <VirtualHost> Apache настроен на использование SSL с директивой SSLEngine следующим образом:

    <VirtualHost your.domain.com:443>
    SSLEngine On
    [rest of VirtualHost]
    </VirtualHost>
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...