ssl_error_rx_record_too_long और Apache SSL [बंद]


242

मुझे मेरी एक साइट तक पहुँचने का प्रयास करने वाला एक ग्राहक मिला है, और उन्हें यह त्रुटि मिलती रहती है> ssl_error_rx_record_too_long

वे सभी ब्राउज़रों, सभी प्लेटफार्मों पर यह त्रुटि प्राप्त कर रहे हैं। मैं इस समस्या को बिल्कुल भी नहीं दोहरा सकता।

मेरा सर्वर और स्वयं संयुक्त राज्य अमेरिका में स्थित हैं, ग्राहक भारत में स्थित है।

मैं समस्या पर googled, और मुख्य स्रोत लगता है कि SSL बंदरगाह HTTP में बोल रहा हूँ। मैंने अपना सर्वर चेक किया, और यह नहीं हो रहा है। मैंने यहां बताए गए समाधान की कोशिश की , लेकिन ग्राहक ने कहा कि यह समस्या को ठीक नहीं करता है।

क्या कोई मुझे बता सकता है कि मैं इसे कैसे ठीक कर सकता हूं, या मैं इसे कैसे पुन: पेश कर सकता हूं ???

समाधान

पता चला कि ग्राहक को एक गलत स्थानीय प्रॉक्सी थी!

आशा है कि भविष्य में इसे डिबग करने की कोशिश कर रहे किसी भी व्यक्ति को इस सवाल का पता लगाने में मदद मिलेगी।


मुझे लगता है कि यह उनकी बातों के गलत अनुमान के कारण हो सकता है। उस पर भी कोई विचार?
सबमेज

34
चूंकि यह बंद विषय के रूप में बंद था, लेकिन एक बहुत ही मूल्यवान प्रश्न लगता है (इस त्रुटि संदेश के लिए Google में रैंक बहुत अधिक है) शायद इसे सर्वरफॉल्ट पर स्थानांतरित किया जाना चाहिए? यह 6 साल पुराना सवाल है, इसलिए शायद एसएफ तब उपलब्ध नहीं था जब सवाल शुरू में पूछा गया था ...
kdmurray

13
यह SSL_ERROR_RX_RECORD_TOO_LONG के लिए पहला वेब खोज परिणाम है। इसमें 32 पसंदीदा, 193 upvotes, कई बहुप्रतीक्षित उत्तर हैं ... और यह एक ऐसे व्यक्ति के अनुसार विषय के रूप में बंद है जो हम में से बाकी लोगों से बेहतर जानता है कि इस सवाल का कोई अस्तित्व नहीं है।
व्लादिमीर कोर्निआ

2
मैं अपने सर्टिफिकेट मुद्दों को इस संदेश के साथ डिबग कर सकता थाopenssl s_client -connect my-domain.tld:443
azmeuk

2
@Subimage "सॉल्यूशन यह बताता है कि ग्राहक को एक गलत स्थानीय प्रॉक्सी मिली थी!" कृपया इसका मतलब बताएं। आप अधिक विशिष्ट हो सकते हैं; यह जानकर निराशा होती है कि आपके पास इसका समाधान है लेकिन आप इसे स्पष्ट रूप से स्पष्ट नहीं करते हैं
ptrcao

जवाबों:


169

लिंक subimage ने उल्लेख किया मेरे लिए पैसे पर सही था। यह वर्चुअल होस्ट टैग बदल सुझाव दिया, यानी, से <VirtualHost myserver.example.com:443>करने के लिए<VirtualHost _default_:443>

एरर कोड: ssl_error_rx_record_too_long

इसका आमतौर पर मतलब है कि आपके सर्वर पर एसएसएल का कार्यान्वयन सही नहीं है। त्रुटि आमतौर पर एक सर्वर साइड समस्या के कारण होती है जिसे सर्वर व्यवस्थापक को जांच करने की आवश्यकता होगी।

नीचे कुछ चीजें दी गई हैं, जिन्हें हम आजमाने की सलाह देते हैं।

  • सुनिश्चित करें कि पोर्ट 443 आपके सर्वर पर खुला और सक्षम है। यह https संचार के लिए मानक पोर्ट है।

  • यदि SSL एक गैर-मानक पोर्ट का उपयोग कर रहा है, तो FireFox 3 कभी-कभी यह त्रुटि दे सकता है। सुनिश्चित करें कि एसएसएल पोर्ट 443 पर चल रहा है।

  • यदि Apache2 का उपयोग करके देखें कि आप SSL के लिए पोर्ट 443 का उपयोग कर रहे हैं। यह पोर्टसकॉन्फ़ फ़ाइल को निम्नानुसार सेट करके किया जा सकता है

    Listen 80
    Listen 443 https
    
  • सुनिश्चित करें कि आपके पास एक ही IP साझा करने वाले एक से अधिक SSL प्रमाणपत्र नहीं हैं। कृपया सुनिश्चित करें कि सभी एसएसएल प्रमाणपत्र अपने समर्पित आईपी का उपयोग करते हैं।

  • यदि Apache2 का उपयोग कर अपने vhost config की जाँच करें। कुछ उपयोगकर्ताओं ने त्रुटि <VirtualHost>को _default_हल करने के लिए बदलने की सूचना दी है ।

इससे मेरी समस्या ठीक हो गई। यह दुर्लभ है कि मैं एक त्रुटि संदेश देता हूं और सही उत्तर के साथ पहला हिट प्राप्त करता हूं! :-)

उपरोक्त के अलावा , ये कुछ अन्य समाधान हैं जिन्हें अन्य लोगों ने पाया है कि समस्या पैदा कर रहे हैं:

  • सुनिश्चित करें कि आपका एसएसएल प्रमाणपत्र समाप्त नहीं हुआ है

  • सिफर निर्दिष्ट करने का प्रयास करें:

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


5
बस जाँच करने के लिए चीजों की सूची में जोड़ने के लिए, इन सभी वस्तुओं की जांच करने के बाद मुझे अपने <VirtualHost डिफ़ॉल्ट : 443> से <VirtualHost fqdn: 443> को स्वैप करना था ताकि इसे अंत में काम कर सकें।
जिमप

2
मैं एक whm / Cpanel सर्वर पर इस मुद्दे था। मैंने समस्या को ठीक करने के लिए ssl को फिर से स्थापित किया।
माइक डी

15
_default_:443मेरे लिए काम किया। नहीं मैं सोने जा सकता हूँ!
गार्फोन्जो

जांच करने के लिए एक और बात, आपके पास डिफ़ॉल्ट रूप से एसएसएल हो सकता है, लेकिन अगर आपके पास इस समस्या के साथ एक नया वायरहोस्ट है, तो आपने पोर्ट खुला होने के बावजूद भी एसएसएल कॉन्फ़िगरेशन प्रदान नहीं किया होगा। (उर्फ, उफ़, मैं एक कदम चूक गया।)
योशिय्याह

1
इसके अलावा, जाँच करें और सुनिश्चित करें कि आपके पास अनुचित सेटिंग्स के साथ 443 पोर्ट को सुनने के लिए अन्य VirtualHost conf फाइलें नहीं हैं। एक बुरा आत्मविश्वास फ़ाइल सभी एसएसएल साइटों को नीचे ला सकता है।
Nostalg.io 8

120

मेरे लिए समाधान यह था कि default-sslअपाचे 2 में सक्षम नहीं था .... बस डाल रहा हैSSLEngine On

मुझे निष्पादित करना पड़ा a2ensite default-sslऔर सब कुछ काम किया।


4
मैंने उपयोग किया है, a2enmod sslलेकिन a2ensite default-sslडिफ़ॉल्ट vhost कॉन्फिडेंस से भूल जाता हूं । धन्यवाद!
m3nda

उन्हें वास्तव default-sslमें उबंटू में पहले से ही सक्षम बनाना चाहिए।
बैडहोरसी

32

मेरे मामले में मुझे <VirtualHost *> को <VirtualHost *: 80> (जो कि Ubuntu पर डिफ़ॉल्ट है) को बदलना पड़ा। अन्यथा, पोर्ट 443 SSL का उपयोग नहीं कर रहा था और सादे HTML को ब्राउज़र में वापस भेज रहा था।

आप यह देख सकते हैं कि क्या यह आपका मामला काफी आसानी से है: बस अपने सर्वर से कनेक्ट करें http://www.example.com:443 । यदि आप सादा HTML देखते हैं, तो आपका Apache पोर्ट 443 पर SSL का उपयोग बिल्कुल नहीं कर रहा है, जो संभवतः एक VirtualHost मिसकॉन्फ़िगरेशन के कारण है।

चीयर्स!


1
लोकलहोस्ट: ४४३ लोड प्लेन html, क्या करना है?
नीरन

@niran मुझे लगता है कि यह <VirtualHost>निर्देश के लिए आपके OS डिफॉल्ट्स पर निर्भर करता है । डिफ़ॉल्ट का पता लगाने और उसके अनुसार इसे समायोजित करने का प्रयास करें और सुनिश्चित करें कि SSL उस VirtualHost पर सक्षम है।
एलेक्सम

1
Vhost के साथ यह समस्या थी क्योंकि 000-default.conf का अप्रयुक्त था: SSLEngine के बिना 443 अनुभाग। Apache लॉग यह पता चला है, जो सही रास्ते पर मुझे मिल गया:AH01916: Init: (myhost.example.com:443) You configured HTTP(80) on the standard HTTPS(443) port!
mivk

मेरी समस्या यह थी कि मैंने "sudo a2ensite default-ssl.conf" नहीं चलाया था। Ssl conf केवल साइटों-सक्षम निर्देशिका में नहीं था, केवल साइटों में उपलब्ध है।
Json


10

यदि आपके पास एक नया https vhost सेटअप करने के बाद त्रुटि है और कॉन्फ़िगरेशन सही प्रतीत होता है, तो sites-enabledभी लिंक करना याद रखें ।


2
बेवकूफ लगता है, लेकिन यह मुझे पकड़ा
अलेक्सई तेनित्स्की

2
एक लिंक के बजाय a2ensite का उपयोग करें, यह अधिकांश प्रणालियों पर सही तरीका है
AsTeR

1
इसके अलावा, apache2.conf (उबंटू) पर नियम की जांच करें: इसमें शामिल ऑप्‍शनल साइट्स-इनेबल / इंफेक्‍ट। सुनिश्चित करें कि आपके लिंक ".conf" में समाप्त हों या सभी फ़ाइलों को शामिल करने के लिए उस नियम को बदलें।
लेप

1
मैंने सही सिंटैक्स के साथ साइट कॉन्फिगरेशन बनाया और इसे साइटों-उपलब्ध से जोड़ा। समस्या यह थी: मेरे कॉन्फ़िगरेशन का नाम ".conf" के साथ समाप्त नहीं हुआ था, क्योंकि यह कभी भी लोड नहीं हुआ था और मुझे त्रुटि के ऊपर मिला था। मेरे मामले में कॉन्फिग्स को "इनकॉर्पोरेटिव साइट्स-इनेबल / * कॉन्फिडेंस" निर्देश के साथ लोड किया गया था। इसलिए कॉन्फिग को भी नाम देना होगा <जो भी> .conf। तुच्छ, लेकिन किसी भी वाक्य रचना त्रुटि का कारण नहीं बनता है (सभी के बाद कभी भी लोड नहीं किया जाता है), और चिड़चिड़ाहट क्योंकि एक एलएस ने इसे साइटों में दिखाया है ...
roland.minner

7

पुराना प्रश्न है, लेकिन मेरे लिए Google में पहला परिणाम है, इसलिए यहां मुझे क्या करना है।

अपाचे स्थापित के साथ Ubuntu 12.04 डेस्कटॉप

अपाचे को स्थापित करते समय सभी कॉन्फ़िगरेशन और mod_ssl स्थापित किया गया था, लेकिन यह अभी तक सही स्थानों में जुड़ा नहीं था। नोट: नीचे दिए गए सभी रास्ते / 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 ./

अपाचे को पुनरारंभ करें और इसे काम करना चाहिए। मैं https: // localhost का उपयोग करने की कोशिश कर रहा था , इसलिए आपके परिणाम बाहरी पहुंच के लिए भिन्न हो सकते हैं, लेकिन यह मेरे लिए काम करता है।


9
कमांड 'a2ensite default-ssl' और 'a2enmodule ssl' मॉड्यूल और साइटों के प्रबंधन को सरल बनाते हैं।
योशिय्याह

4

उपयोगकर्ता अपने ब्राउज़र में उपयोग कर रहे सटीक URL के लिए पूछें। यदि वे https://your.site:80 में प्रवेश कर रहे हैं , तो उन्हें ssl_error_rx_record_too_long त्रुटि प्राप्त हो सकती है।


मैंने एक स्क्रीनशॉट देखा और यह नहीं है: 80 इसे अपने लिए आजमाएं
Subimage

4

मेरे मामले में, मेरे पास वर्चुअल होस्ट फ़ाइल में गलत आईपी एड्रेस था। सुन 443 था, और श्लोक था, <VirtualHost 192.168.0.1:443>लेकिन सर्वर में 192.168.0.1 पता नहीं था!


मैं पुष्टि कर सकता हूं, कि यह मेरे लिए भी समस्या थी ... गलत आईपी पता
स्टेनली

3

कृपया इस लिंक को देखें

मैं सभी मेरे अपाचे लॉग फ़ाइलों में देखा जब तक मैं (मैं बदल गया था वास्तविक त्रुटि पाया <VirtualHost>से _default_मेरी को fqdn)। जब मैंने इस त्रुटि को ठीक किया, तो सब कुछ ठीक रहा।


2

मेरे मामले में समस्या यह थी कि https सही ढंग से शुरू नहीं हो पा रहा था क्योंकि सुनो 443 "ifDefine SSL" में था, लेकिन मेरी अपाचे ने -DSSL विकल्प से शुरुआत नहीं की। फिक्स में मेरी अपाचेक्टल स्क्रिप्ट को बदलना था:

$HTTPD -k $ARGV

सेवा:

$HTTPD -k $ARGV -DSSL

आशा है कि किसी की मदद करता है।


1

मेरी समस्या एक वीपीएन कनेक्शन पर कम एमटीयू के कारण थी।

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

यह एक गैर-वीपीएन कनेक्शन पर भी एक मुद्दा हो सकता है ...


1

मेरे पास वर्चुअल होस्ट कॉन्फिग गड़बड़ थी। याद रखें कि आपको पोर्ट 80 के लिए एसएसएल के बिना एक वर्चुअल होस्ट की आवश्यकता है, और पोर्ट 443 के लिए एसएसएल के साथ एक अन्य। आप एक वर्चुअल होस्ट में दोनों नहीं कर सकते हैं, जैसा कि वेबमिन-जनरेटेड कॉन्फ़िगरेशन ने करने की कोशिश की है।


0

मुझे अपने एसएसएल साइट तक पहुंचने के लिए कुछ ब्राउज़र में एक ही समस्या थी। मैंने पाया है कि मुझे सही प्रॉक्सी को फायरफॉक्स देना था था (फायरफॉक्स सीधे इंटरनेट तक पहुंच रहा था)।

लैन कॉन्फ़िगरेशन (टनलिंग, फ़िल्टरिंग, प्रॉक्सी रीडायरेक्शन) के आधार पर, फ़ायरफ़ॉक्स के लिए "इंटरनेट का सीधा उपयोग" मोड इस त्रुटि को फेंकता है।


कुछ प्रॉक्सी एक HTTPS अनुरोध के लिए HTTP त्रुटि प्रतिक्रिया लौटाते हैं, यह अपेक्षा नहीं है (जैसे कि यदि आप गलत प्रॉक्सी से गए हैं, या प्रॉक्सी गलत है)। यह निदान करना वास्तव में कठिन हो सकता है क्योंकि ब्राउज़र आपको पूरी बातचीत को अस्वीकार कर देगा और आपको प्रॉक्सी के त्रुटि संदेश को दिखाने के बजाय एक त्रुटि को फेंक देगा। Wireshark हालांकि काम करता है। बस खुद में इस भाग गया।
लाइटवेट रेसेस इन ऑर्बिट

0

आप मेजबान फ़ाइल को ठीक करने का भी प्रयास कर सकते हैं।

पूरी तरह से योग्य डोमेन के साथ vhost फ़ाइल रखें और होस्ट्स फ़ाइल / आदि / होस्ट्स (डेबियन) में होस्टनाम जोड़ें।

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

Apache2 को पुनः आरंभ करने के बाद, त्रुटि को दूर किया जाना चाहिए।


0

मेरे लिए समाधान यह था कि मेरा ddclient ठीक से क्रोन नहीं कर रहा था ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.