অ্যাপাচি বিপরীত প্রক্সি: কোনও প্রোটোকল হ্যান্ডলার নেই


20

আমি অ্যাপাচি দিয়ে একটি বিপরীত প্রক্সি কনফিগার করার চেষ্টা করছি, তবে আমি একটি No protocol handler was valid for the URLত্রুটি পাচ্ছি, যা আমি বুঝতে পারি না।

এটি অ্যাপাচে সম্পর্কিত কনফিগারেশন:

ProxyRequests Off
ProxyPreserveHost On

<Proxy *>
       Order deny,allow
       Allow from all
</Proxy>

ProxyPass        /gonvaled/examples/jsonrpc/output/services/ http://localhost:8000/services/
ProxyPassReverse /gonvaled/examples/jsonrpc/output/services/ http://localhost:8000/services/

অনুরোধগুলি এপাচে পৌঁছে যাচ্ছে:

POST /gonvaled/examples/jsonrpc/output/services/EchoService.py HTTP/1.1

এবং সেগুলি এখানে অবস্থিত আমার অভ্যন্তরীণ পরিষেবাতে ফরোয়ার্ড করা উচিত:

0.0.0.0:8000/services/EchoService.py

এই লগগুলি হয়:

==> /var/log/apache2/error.log <==
[Wed Jun 20 02:05:20 2012] [debug] proxy_util.c(1506): [client 127.0.0.1] proxy: http: found worker http://localhost:8000/services/ for http://localhost:8000/services/EchoService.py, referer: http://localhost/gonvaled/examples/jsonrpc/output/JSONRPCExample.safari.cache.html
[Wed Jun 20 02:05:20 2012] [debug] mod_proxy.c(998): Running scheme http handler (attempt 0)
[Wed Jun 20 02:05:20 2012] [warn] proxy: No protocol handler was valid for the URL /gonvaled/examples/jsonrpc/output/services/EchoService.py. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
[Wed Jun 20 02:05:20 2012] [debug] mod_deflate.c(615): [client 127.0.0.1] Zlib: Compressed 614 to 373 : URL /gonvaled/examples/jsonrpc/output/services/EchoService.py, referer: http://localhost/gonvaled/examples/jsonrpc/output/JSONRPCExample.safari.cache.html

==> /var/log/apache2/access.log <==
127.0.0.1 - - [20/Jun/2012:02:05:20 +0200] "POST /gonvaled/examples/jsonrpc/output/services/EchoService.py HTTP/1.1" 500 598 "http://localhost/gonvaled/examples/jsonrpc/output/JSONRPCExample.safari.cache.html" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19"

উত্তর:


26

আমি সমস্যাটি খুঁজে পেয়েছি। proxy_httpমডিউল Apache, খুব সক্রিয় করা প্রয়োজন (আমি শুধুমাত্র ছিল proxy_htmlএবং proxy)


23

আমার জন্য, অ্যাপাচি-তে httpd 2.4, এটি ঘটেছিল কারণ আমি পেছনের স্ল্যাশটি অনুপস্থিত ছিল:

এটা কাজ করছে না:

    <Proxy balancer://mycluster>
        BalancerMember http://192.168.111.7
        BalancerMember http://192.168.111.80
    </Proxy>
    ProxyPass / balancer://mycluster
    ProxyPassReverse / balancer://mycluster

কাজ করছে!

    <Proxy balancer://mycluster>
        BalancerMember http://192.168.111.7
        BalancerMember http://192.168.111.80
    </Proxy>
    ProxyPass / balancer://mycluster/
    ProxyPassReverse / balancer://mycluster/

( /শেষে যুক্ত)


আমার জন্য, অ্যাপাচি ২.২.১৫, <kbd> / </kbd> শেষে কাজ করে। ধন্যবাদ!

অ্যাপাচি / ২.৪.১০ (দেবিয়ান) এ আমাকে সহায়তা করেছে। এটি নথিভুক্ত করা প্রয়োজন! ত্রুটি বার্তাটি চূড়ান্তভাবে অবসন্ন
বিকাশকারী

2

যারা উত্তর খুঁজছেন তাদের জন্য, অন্য সম্ভাবনাটি হ'ল ব্যাকএন্ডে ইউআরএল পরিষেবার নামটিও অনুপস্থিত। লগলভেল ডিবাগ, এবং মোড_প্রক্সি এবং মোড_প্রক্সি_ফসিজি সহ, আমি নিম্নলিখিতগুলি দেখছিলাম:

[debug] proxy: fgci: found worker fgci://127.0.0.1:9000/var/www/html/.../index.php [debug] mod_proxy.c(1026): Running scheme fgci handler (attempt 0) [debug] mod_proxy_fcgi.c(800): [client ...] AH01076: url: fgci://127.0.0.1:9000/var/www/html/.../index.php proxyname: (null) proxyport: 0 [debug] mod_proxy_fcgi.c(805): [client ...] AH01077: declining URL fgci://127.0.0.1:9000/var/www/html/.../index.php [warn] proxy: No protocol handler was valid for the URL /.../index.php. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

ধন্যবাদ মোড_প্রক্সি_ফেসটিগির কোড (আমি আরএইচইল 6 তে অ্যাপাচি ২.২ এর ব্যাকপোর্ট ব্যবহার করছি) https://github.com/ceph/mod-proxy-fcgi/blob/master/mod_proxy_fcgi.c#L805 এ পাওয়া যায় যা এটি কোড টুকরা:

if (strncasecmp(url, "fcgi:", 5) != 0) {
    ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(01077) "declining URL %s", url);
    return DECLINED;
}

আপনি যদি লগগুলিতে ঘনিষ্ঠভাবে লক্ষ্য করেন - বার্তাটি সরবরাহ করে fcgi://...এমন কোডটির দিকে তাকানোর সময় আমি কেবল এটি লক্ষ্য করেছি - আপনি দেখতে পাবেন যে কী হওয়া উচিত তা ভুলভাবে পোস্ট করা উচিতfgci://...

আপনি যখন দেখবেন declining URLতখন এর অর্থ হয়:

  • আপনার কাছে এমন কোনও হ্যান্ডলার লোড নেই যা পরিষেবাটি গ্রহণ করে (যেমন। Fcgi :), বা
  • আপনি পরিষেবাটির নাম ভুল বানান করেছেন।

1
"যখন আপনি এই ত্রুটিটি দেখেন তার অর্থ এটি ..." কারণ এই উত্তরের অংশের কারণে আমি উত্সাহিত করেছি। আমি অনুভব করি যে এটি বেশিরভাগ সন্ধানকারীকে সঠিক দিকে নিয়ে যেতে হবে।
তিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.