ssl_error_rx_record_too_long 및 Apache SSL [닫힘]


242

고객이 내 사이트 중 하나에 액세스하려고하는데 계속이 오류가 발생합니다> ssl_error_rx_record_too_long

모든 브라우저, 모든 플랫폼 에서이 오류가 발생합니다. 문제를 전혀 재현 할 수 없습니다.

내 서버와 본인은 미국에 있으며 고객은 인도에 있습니다.

나는 문제에 대해 봤는데, 주요 출처는 SSL 포트가 HTTP로 말하고있는 것 같습니다. 서버를 확인했는데 이런 일이 일어나지 않았습니다. 여기언급 된 솔루션을 시도 했지만 고객이 문제를 해결하지 않았다고 언급했습니다.

누구든지 내가 어떻게 고칠 수 있는지 또는 어떻게 이것을 재현 할 수 있는지 말해 줄 수 있습니까 ???

해결책

고객이 로컬 프록시를 잘못 구성한 것으로 나타났습니다!

이 질문을 찾는 사람이 나중에 디버깅을 시도하는 데 도움이되기를 바랍니다.


나는 그것이 그들의 측면에서 잘못 구성된 프록시로 인해 발생할 수 있다고 생각합니다. 그것에 대한 생각도 있습니까?
서브 이미지

34
주제가 아닌 주제로 폐쇄되었지만 매우 귀중한 질문 인 것 같습니다 (이 오류 메시지로 인해 Google에서 매우 높은 순위) 아마도 ServerFault로 옮겨야합니까? 이 질문은 6 년 된 질문이므로 처음에 질문을 받았을 때 SF를 사용할 수 없었습니다.
kdmurray

13
SSL_ERROR_RX_RECORD_TOO_LONG에 대한 첫 번째 웹 검색 결과입니다. 여기에는 32 개의 즐겨 찾기, 193 개의 공감대, 많이 찬성 한 답변이 있으며,이 질문이 존재할 권리가 없다는 사실을 우리보다 잘 아는 사람에 따라 주제가 마감되었습니다.
Vladimir Kornea

2
이 메시지를 생성하는 인증서 문제를 디버깅 할 수 있습니다.openssl s_client -connect my-domain.tld:443
azmeuk

2
@Subimage "고객이 로컬 프록시를 잘못 구성한 것으로 나타났습니다!" 이것이 무엇을 의미하는지 설명하십시오. 더 구체적 일 수 있습니다. 그것의 좌절 당신이 솔루션을 알고하지만 당신은 명시 적으로 그것을 밖으로 철자하지 않습니다
ptrcao

답변:


169

서브 이미지 언급 링크는 나를 위해 돈을 맞았다. 가상 호스트 태그 변경을 제안 <VirtualHost myserver.example.com:443>했습니다.<VirtualHost _default_:443>

에러 코드: ssl_error_rx_record_too_long

이것은 일반적으로 서버에서 SSL 구현이 올바르지 않음을 의미합니다. 이 오류는 일반적으로 서버 관리자가 조사해야하는 서버 측 문제로 인해 발생합니다.

다음은 권장되는 사항입니다.

  • 서버에서 포트 443이 열려 있고 사용 가능한지 확인하십시오. https 통신을위한 표준 포트입니다.

  • SSL이 비표준 포트를 사용하는 경우 FireFox 3에서 때때로이 오류가 발생할 수 있습니다. SSL이 포트 443에서 실행 중인지 확인하십시오.

  • Apache2를 사용하는 경우 SSL에 포트 443을 사용하고 있는지 확인하십시오. 다음과 같이 ports.conf 파일을 설정하면됩니다.

    Listen 80
    Listen 443 https
    
  • 동일한 IP를 공유하는 둘 이상의 SSL 인증서가 없는지 확인하십시오. 모든 SSL 인증서가 자체 전용 IP를 사용하는지 확인하십시오.

  • Apache2를 사용하는 경우 vhost 구성을 확인하십시오. 일부 사용자는 오류 <VirtualHost>_default_해결하기 위해 변경 을 보고했습니다 .

그게 내 문제를 해결했다. 오류 메시지를 Google에 표시하고 정답으로 첫 번째 인기를 얻는 것은 드 rare니다! :-)

위의 것 외에도 다른 사람들 이이 문제를 일으킨 것으로 발견 된 다른 솔루션이 있습니다.

  • SSL 인증서가 만료되지 않았는지 확인

  • 암호를 지정하십시오.

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


5
확인할 항목 목록에 추가하기 위해 이러한 모든 항목을 확인한 후 <VirtualHost default : 443>을 <VirtualHost fqdn : 443>으로 바꿔야 마침내 작동했습니다.
JimP

2
whm / Cpanel 서버에서이 문제가 발생했습니다. 방금 ssl을 다시 설치하여 문제를 해결했습니다.
Mike D

15
_default_:443나를 위해 일했다. 아니요, 잠을 잘 수 있습니다!
Garfonzo

확인해야 할 또 다른 사항은 기본적으로 SSL이있을 수 있지만이 문제가있는 새로운 virthost가 있으면 포트가 열려 있어도 SSL 구성을 제공하지 않았을 수 있습니다. (일명, 죄송합니다. 한 걸음도 놓쳤습니다.)
Josiah

1
또한 설정이 잘못된 포트 443을 수신하는 다른 VirtualHost conf 파일이 없는지 확인하십시오. 하나의 잘못된 conf 파일은 모든 SSL 사이트를 중단시킬 수 있습니다.
Nostalg.io

120

나를위한 해결책 default-ssl은 아파치 2에서 활성화되지 않았다는 것입니다.SSLEngine On

나는 처형해야 a2ensite default-ssl했고 모든 것이 효과가있었습니다.


4
기본 vhost conf a2enmod ssl를 사용 했지만 잊어 버렸습니다 a2ensite default-ssl. 감사합니다!
m3nda

그들은 실제로 default-ssl우분투에서 이미 활성화되어 있어야합니다 .
BadHorsie 2016 년

32

필자의 경우 <VirtualHost *>를 다시 <VirtualHost * : 80> (우분투의 기본값)으로 변경해야했습니다. 그렇지 않으면 포트 443이 SSL을 사용하지 않고 일반 HTML을 브라우저로 다시 보내는 중이었습니다.

이 경우가 매우 쉬운 지 확인할 수 있습니다 . http://www.example.com:443 서버에 연결하면 됩니다. 일반 HTML이 표시되면 Apache가 포트 443에서 SSL을 전혀 사용하지 않는 것입니다. VirtualHost가 잘못 구성되어 있기 때문일 수 있습니다.

건배!


1
localhost : 443은 plian html을로드합니다. 어떻게해야합니까?
niran

@niran <VirtualHost>지시어 의 OS 기본값에 따라 다릅니다 . 기본값을 찾아서 적절히 조정하고 해당 VirtualHost에서 SSL이 사용 가능한지 확인하십시오.
alexm 2016 년

1
000-default.conf에 SSLEngine이없는 사용되지 않은 : 443 섹션이 있기 때문에 가상 호스트에이 문제가있었습니다. 아파치 로그는 이것을 보여 주어 올바른 길로 AH01916: Init: (myhost.example.com:443) You configured HTTP(80) on the standard HTTPS(443) port!
인도했다

내 문제는 "sudo a2ensite default-ssl.conf"를 실행하지 않았다는 것입니다. ssl conf는 단순히 sites-enabled 디렉토리가 아니라 sites-available에만있었습니다.
Json


10

새 https vhost를 설정 한 후 오류가 발생하고 구성이 올바른 것 같으면 연결해야합니다 sites-enabled.


2
바보 같은 소리지만 나를 붙 잡았다
알렉세이 Tenitski을

2
링크가 아닌 a2ensite를 사용하면 대부분의 시스템에서 올바른 방법입니다.
AsTeR

1
또한 apache2.conf (Ubuntu) : IncludeOptional sites-enabled / *. conf에서 규칙을 확인하십시오. 링크가 ".conf"로 끝나거나 모든 파일을 포함하도록 해당 규칙을 변경하십시오.
lepe

1
올바른 구문으로 사이트 구성을 만들어 사이트 사용 가능 사이트에 연결했습니다. 문제는 내 구성의 이름이 ".conf"로 끝나지 않았기 때문에로드되지 않고 오류가 발생했기 때문입니다. 필자의 경우 구성에는 "IncludeOptional sites-enabled / *. conf"지시문이로드되었으므로 구성 이름은 <Whatever> .conf 여야합니다. 사소한,하지만 ... 어떤 구문 오류 (결국로드되지 않음)의 원인 및 LS는 사이트 이용 가능한에서 그것을 보여 주었다 때문에 자극하지 않습니다
roland.minner

7

오래된 질문이지만 첫 번째 결과는 Google을위한 것이므로 여기에해야 할 일이 있습니다.

Apache가 설치된 Ubuntu 12.04 데스크탑

모든 구성과 mod_ssl은 Apache를 설치할 때 설치되었지만 아직 제대로 연결되지 않았습니다. 참고 : 아래의 모든 경로는 / etc / apache2 /

mod_ssl에 저장 ./mods-available하고, SSL 사이트 구성에 ./sites-available, 당신은 단지에 올바른 장소에 이들을 연결해야 ./mods-enabled하고./sites-enabled

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

Apache를 다시 시작하면 작동합니다. https : // localhost 에 액세스하려고 했기 때문에 외부 액세스에 따라 결과가 다를 수 있지만 이것은 나에게 효과적입니다.


9
'a2ensite default-ssl'및 'a2enmodule ssl'명령은 모듈 및 사이트 심볼릭 링크 관리를 단순화합니다.
Josiah


4

필자의 경우 가상 호스트 파일에 잘못된 IP 주소가 있습니다. 청취는 443이었고 스탠자는 <VirtualHost 192.168.0.1:443>있었지만 서버에는 192.168.0.1 주소가 없었습니다!


나는 이것이 나에게도 문제 였다는 것을 확인할 수있다. 틀린 IP 주소
StanleyD

3

이 링크를 참조하십시오 .

나는 (내가 변경 한 실제 오류를 발견 할 때까지 내 모든 아파치 로그 파일에보고 <VirtualHost>에서 _default_내에 fqdn). 이 오류를 해결하면 모든 것이 잘 작동했습니다.


2

필자의 경우 문제는 Listen 443이 "IfDefine SSL"에 포함되어 있기 때문에 https를 올바르게 시작할 수 없었지만 아파치는 -DSSL 옵션으로 시작하지 않았다는 것입니다. 수정 사항은 내 apachectl 스크립트를 다음과 같이 변경하는 것이 었습니다.

$HTTPD -k $ARGV

에:

$HTTPD -k $ARGV -DSSL

누군가에게 도움이되기를 바랍니다.


1

내 문제는 VPN 연결을 통한 LOW MTU 때문이었습니다.

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

수정 : netsh 인터페이스 ipv4 설정 인터페이스 "무선 네트워크 연결"mtu = 1400

비 VPN 연결을 통해 문제가 될 수도 있습니다 ...


1

가상 호스트 설정이 엉망입니다. 포트 80에 SSL이없는 가상 호스트 하나와 포트 443에 SSL이있는 다른 가상 호스트가 필요하다는 것을 기억하십시오. webmin 생성 구성이 시도한 것처럼 하나의 가상 호스트에 둘 다 가질 수는 없습니다.


0

일부 브라우저에서 SSL 사이트에 액세스하는 데 동일한 문제가있었습니다. 나는 FireFox에게 올바른 프록시를 제공해야 한다는 것을 알았습니다 (FireFox는 인터넷에 직접 액세스 했습니다 ).

LAN 구성 (턴링, 필터링, 프록시 리디렉션)에 따라 FireFox의 "인터넷에 직접 액세스"모드에서이 오류가 발생합니다.


일부 프록시는 예상하지 않은 HTTPS 요청에 대해 HTTP 오류 응답을 반환합니다 (예 : 잘못된 프록시를 통과했거나 프록시가 잘못 구성된 경우). 브라우저는 프록시의 오류 메시지를 표시하지 않고 전체 대화를 거부하고 오류를 발생시키기 때문에 실제로 진단하기가 어려울 수 있습니다. Wireshark는 그 일을합니다. 그냥 이걸 만났어
궤도에서 가벼움 경주

0

hosts 파일 수정을 시도 할 수도 있습니다.

호스트 파일을 정규화 된 도메인으로 유지하고 호스트 이름을 호스트 파일 / etc / hosts (debian)에 추가하십시오.

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

apache2를 다시 시작한 후 오류가 사라져야합니다.


0

나에게 해결책은 내 ddclient가 제대로 작동하지 않는 것입니다 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.