2012-05-24 20 views
8

मैंने पहले से ही गुमराह किया है कि 505 "HTTP संस्करण समर्थित नहीं है", लेकिन फिर भी मेरी समस्या का पता नहीं लगा सकता है। मेरे पास क्लाइंट को प्रमाणीकृत किए बिना HTTPS को सक्षम करने के लिए स्वयं-हस्ताक्षरित प्रमाणपत्र के साथ टोमकैट के साथ एक वेब एप्लिकेशन है। ग्राहक सर्वर प्रमाण पत्र प्रमाणीकृत करेगा। मैंने वायरशर्क पैकेट का विश्लेषण किया है, ऐसा लगता है कि एसएसएल हैंडशार्क सही है। लेकिन जब मैं टॉमकैट localhost_access_log की जांच करता हूं, तो ग्राहक अनुरोध के लिए 505 त्रुटि होगी, सर्वर पक्ष को क्लाइंट अनुरोध प्राप्त नहीं होता है। क्या आप कृपया इस पर कुछ संकेत देने में मदद कर सकते हैं?HTTP त्रुटि कोड 505

172.25.21.113 - - [24/May/2012:16:28:26 +0800] "GET /updserver/update?action=signature_update&device_type=NGN&service_type=KAV&engine_ver=1.00&sig_ver=4.123&mac=0019CB72736E HTTP/1.1 " 505 - 
+0

क्या अनुरोध लाइन में "HTTP/1.1" के बाद वास्तव में कोई जगह है? मुझे आश्चर्य है कि क्या यह समस्या हो सकती है। –

+0

संबंधित समस्या: [java.io.IOException: सर्वर HTTP प्रतिक्रिया कोड 505 देता है] (http://stackoverflow.com/questions/3625659/java-io-ioexception-server-returns-http-response-code-505) – sleske

उत्तर

13

आप HTTP संस्करण के बाद खाली स्थान के अनुगामी (अपने उदाहरण के रूप में) के साथ बिलाव के लिए एक अनुरोध करते हैं, बिलाव 505 त्रुटि के साथ जवाब देंगे। टॉमकैट 7.0.27 पर पुष्टि की।

आरएफसी 2616 (HTTP 1.1) का कहना है कि HTTP-version "HTTP /" + digit + "से बना है।" अंक। अनुरोध-रेखा समाप्त होती है + "+ HTTP-संस्करण + सीआरएलएफ जिसका अर्थ है कि कोई व्हाइटस्पेस की अनुमति नहीं है।

संदर्भ:

+0

हां, लाइन के अंत में एक अंतरिक्ष चरित्र है। मैं ग्राहक को नियंत्रित नहीं कर सकता, लेकिन यह Tomcat5.5 के साथ अच्छी तरह से काम करता है? ऐसे मामले से निपटने के लिए कैसे? –

+0

ऐसा लगता है कि हमारी टीम ने काम करने से पहले टोमकैट 5.5 को हैक किया था, शायद मुझे इस समस्या को ठीक करने के लिए फिर से टोमकैट 7 को हैक करना होगा। ग्रेट धन्यवाद क्रिस्टोफर Schultz ~ –

1

जाहिर ओपी के लिए नहीं जवाब है, लेकिन करने के दौरान मैं आज रात यह त्रुटि संदेश में भाग एक एसओएलआर सर्वर डीबग करें।

मेरी समस्या HTTP संस्करण के बाद एक अतिरिक्त स्थान नहीं थी।

मेरा क्लाइंट एप्लिकेशन खराब यूआरएल लॉगिंग कर रहा था, जिसे मैंने & को एसओएलआर टॉमकैट के http पोर्ट के टेलनेट कनेक्शन में चिपकाया था। मेरे लॉग संदेश ने यूआरएल में एक जगह सही ढंग से% 20-एन्कोडिंग के बिना यूआरएल दिखाया। मुझे खराब HTTP संस्करण त्रुटि मिली, संभवतः क्योंकि यह मेरे HTTP संस्करण के रूप में यूआरएल में अंतरिक्ष के बाद सब कुछ व्याख्या कर रहा था।

संकेत के लिए http://java.dzone.com/news/solr-tomcat-and-http11-505 पर धन्यवाद।

संबंधित मुद्दे