2012-06-05 27 views
7

के साथ TCP_DENIAL/400 प्राप्त करना मेरे पास एक डिवाइस है जिसे टीसीपी पर इंटरनेट सेवा से कनेक्ट करने की आवश्यकता है: 80 लेकिन नेटवर्क के पास कोई सीधी इंटरनेट एक्सेस नहीं है। तो मैं इसे हल करने के लिए एक स्क्विड प्रॉक्सी का उपयोग कर रहा हूँ।स्क्विड प्रॉक्सी - टीसीपी कनेक्ट करने की अनुमति कैसे दें - ERR_INVALID_DOMAIN

डिवाइस मुझे प्रॉक्सीसेवर, पोर्ट, उपयोगकर्ता नाम और पासवर्ड दर्ज करने की अनुमति देता है।

मुझे पता चला कि डिवाइस http GET के बजाय http CONNECT का उपयोग करता है (जो मेरे ब्राउज़र के साथ ठीक काम कर रहा है)।

1338885433.033  0 172.22.140.129 TCP_DENIED/400 1728 CONNECT :0 - NONE/- text/html 

तो मैं पैकेट पर कब्जा कर लिया वास्तव में देखने के लिए क्या हो रहा:

उपकरण को कनेक्ट करने का प्रयास करता है, यह एक HTTP त्रुटि 400 व्यंग्य access.log मुझे केवल इस देता हो जाता है

डिवाइस से अनुरोध:

 
CONNECT mydomain.com:0 HTTP/1.0 
User-agent: Sequencer/5.5.0.5539 

व्यंग्य से उत्तर:

HTTP/1.0 400 Bad Request 
squid/2.7.STABLE9 
X-Squid-Error: ERR_INVALID_URL 0 
close 

मेरे squid.conf:

 
auth_param basic program /usr/lib/squid/pam_auth 
auth_param basic children 5 
auth_param basic realm Squid proxy-caching web server 
auth_param basic credentialsttl 2 hours 
auth_param basic casesensitive off 

acl all src all 
acl manager proto cache_object 
acl localhost src 127.0.0.1/32 
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 

acl localnet src 10.0.0.0/8  # RFC1918 possible internal network 
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network 
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network 

acl SSL_ports port 443   # https 
acl SSL_ports port 563   # snews 
acl SSL_ports port 873   # rsync 

acl Safe_ports port 80   # http 
acl Safe_ports port 21   # ftp 
acl Safe_ports port 443   # https 
acl Safe_ports port 70   # gopher 
acl Safe_ports port 210   # wais 
acl Safe_ports port 1025-65535 # unregistered ports 
acl Safe_ports port 280   # http-mgmt 
acl Safe_ports port 488   # gss-http 
acl Safe_ports port 591   # filemaker 
acl Safe_ports port 777   # multiling http 
acl Safe_ports port 631   # cups 
acl Safe_ports port 873   # rsync 
acl Safe_ports port 901   # SWAT 

acl purge method PURGE 
acl CONNECT method CONNECT 
acl checkpw proxy_auth REQUIRED 

http_access allow manager localhost 
http_access deny manager 
http_access allow purge localhost 
http_access deny purge 
http_access deny !Safe_ports 
http_access allow CONNECT 
http_access allow localnet 
http_access allow localhost 
http_access allow checkpw all 
http_access deny all 

icp_access allow localnet 
icp_access deny all 

http_port 3128 

hierarchy_stoplist cgi-bin ? 

access_log /var/log/squid/access.log squid 

debug_options ALL,1 33,2 28,9 

refresh_pattern ^ftp:   1440 20%  10080 
refresh_pattern ^gopher:  1440 0%  1440 
refresh_pattern -i (/cgi-bin/|\?) 0  0%  0 
refresh_pattern (Release|Packages(.gz)*)$  0  20%  2880 
refresh_pattern .    0  20%  4320 

acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9] 

upgrade_http0.9 deny shoutcast 

acl apache rep_header Server ^Apache 

broken_vary_encoding allow apache 

extension_methods REPORT MERGE MKACTIVITY CHECKOUT 

hosts_file /etc/hosts 

forwarded_for off 

coredump_dir /var/spool/squid 

कोई समाधान ERR_INVALID_URL से छुटकारा पाने के है? क्या मैंने स्क्विड प्रॉक्सी की अवधारणा को याद किया या डिवाइस से अनुरोध अमान्य है?

अगर कोई अन्य जानकारी की आवश्यकता है तो कृपया मुझे बताएं।

अग्रिम धन्यवाद, ईसाई।

+1

दो विकल्प हैं, या एप्लिकेशन में एक बग है और यह पोर्ट 0 भेज रहा है या आपने बंदरगाह को जानकारी छिपाने के लिए बदल दिया है और आपने अमान्य बंदरगाह चुना है :) –

उत्तर

1

मैंने इसे डिवाइस के उत्पाद समर्थन के साथ हल किया है।

उन्होंने मुझे प्रॉक्सी कनेक्शन प्रक्रिया के अधिक विस्तृत डीबग दृश्य को सक्षम करने का एक तरीका दिखाया।

लॉगफ़ाइल में एक लाइन थी

तो मैं डिवाइस के DNS सर्वर सेटिंग की जांच "असमर्थ रिले 0.0.0.0 कनेक्ट करने के लिए", एक उसमें कोई लेखन त्रुटि थी। बस।

10

मैं डिफ़ॉल्ट squid.conf से बाहर टिप्पणी करके एक ही गलती का समाधान:

# Deny CONNECT to other than secure SSL ports 
#http_access deny CONNECT !SSL_ports 

डिफ़ॉल्ट विद्रूप तक गैर SSL पोर्ट से कनेक्ट करने की अनुमति नहीं करने के लिए स्थापित किया गया है। यदि आप एसएसएल के बिना परीक्षण करना चाहते हैं तो आप ऊपर की रेखा पर टिप्पणी करके इसे अक्षम कर सकते हैं।

+0

मैंने पहले से ही यह किया है, यह अभी भी काम नहीं कर रहा है (मैं स्क्विड से नफरत है)। –