ssl_error_rx_record_too_long e Apache SSL [fechado]

242

Tenho um cliente tentando acessar um dos meus sites e eles continuam recebendo esse erro> ssl_error_rx_record_too_long

Eles estão recebendo esse erro em todos os navegadores, todas as plataformas. Não consigo reproduzir o problema.

Meu servidor e eu estamos localizados nos EUA, o cliente está localizado na Índia.

Eu pesquisei no problema, e a fonte principal parece ser que a porta SSL está falando em HTTP. Eu verifiquei meu servidor e isso não está acontecendo. Tentei a solução mencionada aqui , mas o cliente declarou que não corrigiu o problema.

Alguém pode me dizer como eu posso consertar isso, ou como eu posso reproduzir isso ???

A SOLUÇÃO

Acontece que o cliente tinha um proxy local mal configurado!

Espero que ajude alguém a encontrar essa pergunta tentando depurá-la no futuro.

Subimagem
fonte
Eu estou pensando que também poderia ser causado por um proxy mal configurado ao lado deles. Alguma idéia sobre isso também?
Subimage 23/09/08
34
Como foi fechado como fora do tópico, mas parece ser uma pergunta muito valiosa (é muito alta no Google para essa mensagem de erro), talvez deva ser movido para o ServerFault? É uma questão de 6 anos de idade, então talvez SF não estava disponível quando a pergunta foi feita inicialmente ...
kdmurray
12
Este é o primeiro resultado da pesquisa na Web para SSL_ERROR_RX_RECORD_TOO_LONG. Tem 32 favoritos, 193 votos positivos, várias respostas muito votadas ... e está fechado como tópico de acordo com uma pessoa que sabe melhor que o resto de nós que esta pergunta não tem o direito de existir.
Vladimir Kornea
2
Eu poderia depurar meus problemas de certificado gerando esta mensagem comopenssl s_client -connect my-domain.tld:443
azmeuk
2
@Subimage "A SOLUÇÃO Acontece que o cliente tinha um proxy local mal configurado!" Por favor, explique o que isso significa. Você poderia ser mais específico; É frustrante saber que você tem a solução, mas você não soletrá-lo explicitamente salientar
ptrcao

Respostas:

169

O link mencionado pelo Subimage estava certo para mim. Sugeriu alterar a tag do host virtual, ou seja, de <VirtualHost myserver.example.com:443>para<VirtualHost _default_:443>

Erro de código: ssl_error_rx_record_too_long

Isso geralmente significa que a implementação do SSL no seu servidor não está correta. O erro geralmente é causado por um problema no servidor que o administrador do servidor precisará investigar.

Abaixo estão algumas coisas que recomendamos tentar.

  • Verifique se a porta 443 está aberta e ativada no seu servidor. Essa é a porta padrão para comunicações https.

  • Se o SSL estiver usando uma porta não padrão, o FireFox 3 às vezes poderá fornecer esse erro. Verifique se o SSL está em execução na porta 443.

  • Se estiver usando o Apache2, verifique se você está usando a porta 443 para SSL. Isso pode ser feito configurando o arquivo ports.conf da seguinte maneira

    Listen 80
    Listen 443 https
    
  • Verifique se você não possui mais de um certificado SSL compartilhando o mesmo IP. Verifique se todos os certificados SSL utilizam seu próprio IP dedicado.

  • Se estiver usando o Apache2, verifique sua configuração de vhost. Alguns usuários relataram alterações <VirtualHost>para _default_resolver o erro.

Isso resolveu o meu problema. É raro que eu pesquise no Google uma mensagem de erro e receba o primeiro hit com a resposta certa! :-)

Além do exposto , estas são algumas outras soluções que outras pessoas encontraram causando o problema:

  • Verifique se o seu certificado SSL não expirou

  • Tente especificar a cifra:

    SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:+SSLv3

Randall
fonte
5
Apenas para adicionar à lista de itens a serem verificados, depois de verificar todos esses itens, tive que trocar meu <VirtualHost default : 443> para <VirtualHost fqdn: 443> para que finalmente funcionasse.
JimP 31/05
2
Eu tive esse problema em um servidor whm / Cpanel. Acabei de reinstalar o ssl para corrigir o problema.
Mike D
15
_default_:443trabalhou para mim. Não, eu posso ir dormir!
Garfonzo 31/01
Outra coisa a verificar, você pode ter o SSL por padrão, mas se você tiver um novo virthost com esse problema, talvez ainda não tenha fornecido a configuração do SSL, mesmo que a porta esteja aberta. (aka, oops, eu perdi um passo.)
Josias
1
Além disso, verifique e verifique se você não possui outros arquivos conf do VirtualHost ouvindo a porta 443 com configurações incorretas. Um arquivo conf incorreto pode derrubar todos os sites SSL.
Nostalg.io 02/12/2015
120

A solução para mim foi que default-sslnão foi habilitado no apache 2 .... apenas colocandoSSLEngine On

Eu tive que executar a2ensite default-ssle tudo funcionou.

Webnet
fonte
4
Eu usei, a2enmod sslmas esqueça a2ensite default-ssldo padrão vhost conf. Obrigado!
M3nda
Eles realmente devem apenas default-sslativar o Ubuntu.
21416 BadHorsie
32

No meu caso, tive que mudar o <VirtualHost *> de volta para <VirtualHost *: 80> (que é o padrão no Ubuntu). Caso contrário, a porta 443 não estava usando SSL e estava enviando HTML simples de volta ao navegador.

Você pode verificar se esse é o seu caso facilmente: basta conectar-se ao seu servidor http://www.example.com:443 . Se você vê HTML simples, o Apache não está usando SSL na porta 443, provavelmente devido a uma configuração incorreta do VirtualHost.

Felicidades!

alexm
fonte
1
localhost: 443 carrega plian html, o que fazer?
Niran
@ Niran Eu acho que depende dos padrões do seu sistema operacional para a <VirtualHost>diretiva. Tente descobrir o padrão e ajuste-o de acordo e verifique se o SSL está ativado no VirtualHost.
Alexm 31/05
1
Teve este problema com um vhost porque 000-default.conf tinha uma seção: 443 não utilizada sem SSLEngine. O log do Apache mostrou isso, o que me colocou no caminho certo:AH01916: Init: (myhost.example.com:443) You configured HTTP(80) on the standard HTTPS(443) port!
mivk
Meu problema foi que eu não tinha executado "sudo a2ensite default-ssl.conf". O ssl conf simplesmente não estava no diretório habilitado para sites, apenas nos sites disponíveis.
Json
10

Se você tiver o erro após a instalação de um novo https vhost e a configuração parecer correta, lembre-se de vincular sites-enabledtambém.

homem de perfuração
fonte
2
Soa estúpido, mas ele me pegou
Alexei Tenitski
2
usar a2ensite em vez de um link, este é o caminho certo na maioria dos sistemas
Aster
1
Além disso, verifique a regra em apache2.conf (Ubuntu): IncludeOptional sites-enabled / *. Conf. Verifique se os links terminam em ".conf" ou altere essa regra para incluir todos os arquivos.
Lepe
1
Eu criei a configuração do site com sintaxe correta e o vinculei aos sites disponíveis. O problema era: o nome da minha configuração não terminou com ".conf", como tal, nunca foi carregado e fiquei acima do erro. As configurações no meu caso foram carregadas com a diretiva "IncludeOptional sites-enabled / *. Conf", portanto, a configuração também deve ser o nome <Whatever> .conf. Trivial, mas não causa nenhum erro de sintaxe (nunca carregado depois de tudo) e irritante porque um ls o mostrou em sites disponíveis ...
roland.minner 31/10/2015
7

Pergunta antiga, mas o primeiro resultado no Google para mim, então aqui está o que eu tinha que fazer.

Ubuntu 12.04 Desktop com Apache instalado

Toda a configuração e mod_ssl foram instalados quando eu instalei o Apache, mas ele ainda não estava vinculado nos locais certos. Nota: todos os caminhos abaixo são relativos a / etc / apache2 /

mod_sslestiver armazenado ./mods-availablee a configuração do site SSL estiver ./sites-available, basta vinculá-los aos locais corretos ./mods-enablede./sites-enabled

cd /etc/apache2
cd ./mods-enabled
sudo ln -s ../mods-available/ssl.* ./
cd ../sites-enabled
sudo ln -s ../sites-available/default-ssl ./

Reinicie o Apache e ele deve funcionar. Eu estava tentando acessar https: // localhost , então seus resultados podem variar para acesso externo, mas isso funcionou para mim.

Tarka
fonte
9
Os comandos 'a2ensite default-ssl' e 'a2enmodule ssl' simplificam o gerenciamento dos links simbólicos dos módulos e sites.
28713 Josiah
4

Peça ao usuário o URL exato que ele está usando no navegador. Se eles estiverem inserindo https://your.site:80 , eles poderão receber o erro ssl_error_rx_record_too_long.

dan-manges
fonte
Eu vi uma captura de tela e não é: 80 Experimente você mesmo: monkeyfood.cashboardapp.com
Subimage 23/09/08
4

No meu caso, eu tinha o endereço IP errado no arquivo host virtual. A escuta era 443, e a estrofe era, <VirtualHost 192.168.0.1:443>mas o servidor não tinha o endereço 192.168.0.1!

fimbulvetr
fonte
Posso confirmar que isso foi problema para mim também ... endereço IP errado
StanleyD
3

Por favor, veja este link .

Procurei em todos os meus arquivos de log do apache até encontrar o erro real (eu havia alterado o <VirtualHost>de _default_para o meu fqdn). Quando corrigi esse erro, tudo funcionou bem.

Rogovsky
fonte
2

No meu caso, o problema era que o https não pôde iniciar corretamente porque o Listen 443 estava no derivativo "IfDefine SSL", mas meu apache não começou com a opção -DSSL. A correção foi alterar meu script apachectl em:

$HTTPD -k $ARGV

para:

$HTTPD -k $ARGV -DSSL

Espero que ajude alguém.

Jeff Atwood
fonte
1

Meu problema foi devido a uma MTU BAIXA em uma conexão VPN.

netsh interface ipv4 show inter

Idx  Met   MTU   State        Name
---  ---  -----  -----------  -------------------
  1 4275 4294967295  connected    Loopback Pseudo-Interface 1
 10 4250   **1300**  connected    Wireless Network Connection
 31   25   1400  connected    Remote Access to XYZ Network

Correção: interface netsh ipv4 set interface "Wireless Network Connection" mtu = 1400

Pode ser um problema em uma conexão não VPN também ...


fonte
1

Eu tinha uma configuração de host virtual confusa. Lembre-se de que você precisa de um host virtual sem SSL para a porta 80 e outro com SSL para a porta 443. Você não pode ter os dois em um host virtual, como a configuração gerada pelo webmin tentou.


fonte
0

Eu tive o mesmo problema em algum navegador para acessar o meu site SSL. Eu descobri que tinha que dar ao firefox o proxy certo (o firefox estava acessando diretamente a internet).

Dependendo da configuração da LAN (tunelamento, filtragem, redirecionamento de proxy), o modo "acesso direto à Internet" do FireFox gera esse erro.

Pierre-Gilles Levallois
fonte
Alguns proxies retornam uma resposta de erro HTTP a uma solicitação HTTPS que não é esperada (por exemplo, se você passou pelo proxy errado ou se o proxy está configurado incorretamente). Isso pode ser realmente difícil de diagnosticar porque os navegadores apenas rejeitam a conversa inteira e geram um erro, em vez de mostrar a mensagem de erro do proxy. Wireshark faz o trabalho embora. Apenas me deparei com isso.
Lightness Races in Orbit
0

Você também pode tentar corrigir o arquivo hosts.

Mantenha o arquivo vhost com o domínio totalmente qualificado e adicione o nome do host no arquivo hosts / etc / hosts (debian)

ip.ip.ip.ip name name.domain.com

Após reiniciar o apache2, o erro deve desaparecer.

gaspard
fonte
0

Para mim, a solução foi que meu ddclient não estava agendando corretamente ...

Anon
fonte