2011-06-01 9 views
6

मैंने अपने सर्वर पर पोर्ट 8080 पर पथ "/ rawman" को रीडायरेक्ट करने के लिए हैप्रोक्सी को कॉन्फ़िगर किया है। यह पहली बार काम करता है, लेकिन जैसे ही मैं डिफ़ॉल्ट साइट पर जाता हूं, यह काम करना बंद कर देता है। डिफ़ॉल्ट साइट mod_rewrite के साथ अपाचे पर चल रही है और यह http://mysite.com/rawman?foo=bar पर जाने पर रीडायरेक्ट साइट को देखने के बजाय अमान्य अनुरोध (कोडिनेटर का उपयोग करके) को पकड़ रहा है, इसलिए मैं डिफ़ॉल्ट साइट देखता हूं।यदि मैं डिफ़ॉल्ट साइट पर नहीं जाता तो haproxy path_beg केवल तभी काम करता है?

This is my haproxy config: 

    global 
     log 127.0.0.1 local0 
     log 127.0.0.1 local1 notice 
     maxconn 4096 
     user haproxy 
     group haproxy 
     daemon 
defaults 
     log  global 
     mode http 
     option httplog 
     option dontlognull 
     retries 3 
     option redispatch 
     maxconn 2000 
     contimeout  5000 
     clitimeout  50000 
     srvtimeout  50000 

frontend http_proxy 
     bind 0.0.0.0:8090 
     acl is_ast path_beg /rawman 
     use_backend ast if is_ast 
     default_backend mysite 

backend ast 
     server ast 0.0.0.0:8080 

backend mysite 
     server local 0.0.0.0:80 

उत्तर

29

srvtimeout पंक्ति के बाद option httpclose सेट करके देखें।

यदि आप ऐसा नहीं करते हैं तो हैप्रोक्सी लक्ष्य सर्वर की रखरखाव सेटिंग का उपयोग करता है। एक बार जब आप मुख्य साइट पर जाते हैं तो कनेक्शन खोला जाता है और खुला रहता है, और आपके अगले अनुरोध पर हैप्रोक्सी ओह अच्छा नहीं है: मेरे पास एक खुला कनेक्शन है। आइए इसे का उपयोग करें, भले ही इसे नहीं करना चाहिए। Httpclose विकल्प सेट के साथ यह हमेशा कनेक्शन बंद कर देता है, यह सुनिश्चित करना कि प्रत्येक नया अनुरोध सही कनेक्शन का उपयोग करता है।

मेरे जीवन के 3 घंटे बाद यह पता लगाया।

+0

ओह भयानक! मैं इसे पूरे दिन काम करने की कोशिश कर रहा हूं, धन्यवाद !! – Jesse

+0

आपने अभी मुझे घंटे बचाया !!! स्पष्टीकरण के लिए – CarpeNoctem

+0

+1! धन्यवाद –

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

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