প্রশ্ন প্রক্সি ত্রুটি 502 "কারণ: দূরবর্তী সার্ভার থেকে পড়া ত্রুটি" Apache 2.2.3 (ডেবিয়ান) mod_proxy এবং Jetty 6.1.18 এর সাথে


অপাচা পোর্টে অনুরোধ গ্রহন করছে: 80 এবং পোর্টে জেটিকে আটক করে 8080

The proxy server received an invalid response from an upstream server
The proxy server could not handle the request GET /.

আমার উভয়সঙ্কট: সবকিছু জরিমানা কাজ করে স্বাভাবিকভাবে (দ্রুত অনুরোধ, কয়েক সেকেন্ড বা সেকেন্ড কয়েক সেকেন্ড দীর্ঘ অনুরোধ প্রক্রিয়াকরণ করা হয় ঠিক আছে)। সমস্যা ঘটা যখন অনুরোধ প্রক্রিয়াকরণ দীর্ঘ লাগে (কয়েক মিনিট?).

আমি পরিবর্তে অনুরোধ ইস্যু যদি সরাসরি পোর্টে জেট্টি থেকে: 8080 অনুরোধটি ঠিক আছে। তাই সমস্যা হয় সম্ভবত যেখানে আমি অপাচে ও জেটি কোথাও বসে থাকি mod_proxy। কিভাবে এই সমাধান?

আমি ইতিমধ্যে কিছু "কৌশল" চেষ্টা করেছি ভাগ্য ছাড়া KeepAlive সেটিংস, সম্পর্কিত। এখানে আমার বর্তমান কনফিগারেশন, কোন পরামর্শ?

#keepalive Off                     ## I have tried this, does not help
#SetEnv force-proxy-request-1.0 1  ## I have tried this, does not help
#SetEnv proxy-nokeepalive 1        ## I have tried this, does not help
#SetEnv proxy-initial-not-pooled 1 ## I have tried this, does not help
KeepAlive 20                       ## I have tried this, does not help
KeepAliveTimeout 600               ## I have tried this, does not help
ProxyTimeout 600                   ## I have tried this, does not help

NameVirtualHost *:80
<VirtualHost _default_:80>
    ServerAdmin webmaster@mydomain.fi

    ServerName www.mydomain.fi

    ServerAlias mydomain.fi mydomain.com mydomain www.mydomain.com

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

    ProxyRequests Off
    ProxyPass / http://www.mydomain.fi:8080/ retry=1 acquire=3000 timeout=600
    ProxyPassReverse / http://www.mydomain.fi:8080/

    RewriteEngine On
    RewriteCond %{SERVER_NAME} !^www\.mydomain\.fi
    RewriteRule /(.*) http://www.mydomain.fi/$1 [redirect=301L]

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature On

</VirtualHost>

এখানে একটি ব্যর্থ অনুরোধ থেকে ডিবাগ লগ রয়েছে:

74.125.43.99 - - [29/Sep/2010:20:15:40 +0300] "GET /?wicket:bookmarkablePage=newWindow:com.mydomain.view.application.reports.SaveReportPage HTTP/1.1" 502 355 "https://www.mydomain.fi/?wicket:interface=:0:2:::" "Mozilla/5.0 (Windows; U; Windows NT 6.1; fi; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10"
[Wed Sep 29 20:20:40 2010] [error] [client 74.125.43.99] proxy: error reading status line from remote server www.mydomain.fi, referer: https://www.mydomain.fi/?wicket:interface=:0:2:::
[Wed Sep 29 20:20:40 2010] [error] [client 74.125.43.99] proxy: Error reading from remote server returned by /, referer: https://www.mydomain.fi/?wicket:interface=:0:2:::

72
2017-09-29 17:35


উত্স


হাই .. আমি এখনও এই এক সঙ্গে আটকে আছি। সমস্ত সেটিংস চেষ্টা করে এবং জেটি maxIdleTime বৃদ্ধি সাহায্য করে না। কোন পয়েন্টার পরের চেষ্টা কি? - Martin


উত্তর:


আমি সমস্যা সমাধান করেছেন। দ্য Keepalive=On ঢোকানো উচিত ProxyPass কনফিগার লাইন:

ProxyPass / http://www.dom.fi:8080/ retry=1 acquire=3000 timeout=600 Keepalive=On

ওটা দেখ

Keepalive=On

নেই? এটা সমালোচনামূলক;)


81
2018-02-18 22:27



আমি বিশ্বাস করি আপনি স্বীকৃত হিসাবে আপনার নিজের উত্তর চিহ্নিত করতে পারেন। এটি অন্যদের চিহ্নিত করার জন্য সিস্টেমের সমাধান হিসাবে প্রশ্ন চিহ্নিত করে। - sysadmin1138♦
যেখানে আপনি এই ঠিক করা? - AlxVallejo
@AlxVallejo আপনি এখানে আপনার কনফিগারেশন ফাইল খুঁজে পেতে পারেন /etc/apache2/sites-enabled/[sitename].conf - Steven
আমরা ঠিক একই প্রক্সি ত্রুটি আছে। তারা খুব কমই ঘটবে (এক হাজার অনুরোধে এক)। কেন ঠিক যে Keepalive=On সমালোচনামূলক? - dokaspar
এটা হতে পারে না timeout=600 অথবা retry=1 যে পরিবর্তে এই ঠিক? (বা কম্বো) - MattBianco


আপনি সেটিং করার চেষ্টা করেছেন setenv proxy-initial-not-pooled 1?

উল্লেখ এখানে


4
2017-09-29 17:46



না, এই সাহায্য না। তারপর এটি জাতি অবস্থা সম্পর্কে নয়, এটি দীর্ঘ বিলম্ব এবং এর মধ্যে কিছু ঘটে (জেটি এবং mod_proxy মধ্যে কিছু ভুল বোঝাবুঝি)।


আপনি যদি আপনার প্রক্সি url শেষ না করেন তবে এই ত্রুটিটিও ঘটতে পারে /। উভয় পাথ একটি সঙ্গে শেষ করা উচিত / অথবা না।


3
2018-06-14 23:37





লগ এ খুঁজছেন, 5 মিনিট সময় (= 300 সেকেন্ড) সময় যে কিছু আছে। যে একটি প্রতিক্রিয়া জন্য অপেক্ষা করার জন্য একটি সুন্দর দীর্ঘ সময়। যখন আপনি সরাসরি জেট্টি সার্ভারটি অ্যাক্সেস করেন, তখন এই সংস্থানটি কি সত্যিই প্রতিক্রিয়া তৈরি করতে দীর্ঘ সময় নেয়?

যদি পাঁচ মিনিট সত্যিই সম্ভাব্য প্রতিক্রিয়া বারের মধ্যে থাকে, তবে আপনি প্রক্সি টাইমআউট কনফিগারেশন নির্দেশনাটি টিভ করার চেষ্টা করতে পারেন।

আপনার নেটওয়ার্ক সেট-আপের উপর নির্ভর করে, এটি এমনও হতে পারে যে, কোনও রক্ষণশীল সিস্টেম ব্যবহার করার চেষ্টা করার কোনো কারণ নেই (অ্যাপ্লিকেশান সার্ভার এবং প্রক্সির মধ্যে একটি ফায়ারওয়াল রয়েছে যা খুব দীর্ঘ সময়ের জন্য নিষ্ক্রিয় হওয়া সেশনগুলিকে ড্রপ করতে কনফিগার হতে পারে?) , কিন্তু প্রক্সিটাইমআউট প্রক্সিটির আচরণকে প্রভাবিত করবে।

যদি একই প্রক্সি অন্যান্য ব্যাক-এন্ডগুলিও সরবরাহ করে তবে বর্তমান প্রক্সিটাইমটি রাখা ভাল, এবং প্রক্সিপাস নির্দেশিকাতে সময়সীমার কনফিগার করুন (mod_proxy ডকুমেন্টেশন দেখুন)।

তবে, যদি প্রক্সি ছাড়াই প্রতিক্রিয়াগুলি ক্রমাগত পাঁচ মিনিটের তুলনায় কিছু কম থাকে তবে এটি কাট-অফ সীমা হিসাবে এখানে দেখতে পারা যায়, তাহলে প্রক্সি এবং অ্যাপ্লিকেশান সার্ভারের মধ্যে কিছুটা অস্বাভাবিক হস্তক্ষেপ হতে পারে তবে আপনি কোনও কিছু সরবরাহ করছেন না এটা হতে পারে তা সনাক্ত করার জন্য মান।


1
2017-10-10 18:51



"যখন আপনি সরাসরি জেট্টি সার্ভারটি অ্যাক্সেস করেন, তখন এই সংস্থানটি কি সত্যিই প্রতিক্রিয়া তৈরি করতে দীর্ঘ সময় নেয়?" - হ্যাঁ। আমি 600 এ এই প্রক্সিটাইমআউট সেটিং করার চেষ্টা করেছি। সাহায্য করে না। প্রক্সি এবং jetty মধ্যে কোন ফায়ারওয়াল আছে। প্রক্সি প্যাসেও টাইমআউট কনফিগার করা হয়েছে।
"আপনি এটি কী হতে পারে তা সনাক্ত করার জন্য মানটির কিছু সরবরাহ করছেন না": আমি কি হতে পারে তা জানি না। সার্ভার থেকে আমি একটি ত্রুটি বার্তা পেয়ে যাচ্ছি: প্রক্সি ত্রুটি প্রক্সি সার্ভারটি আপস্ট্রিম সার্ভার থেকে একটি অবৈধ প্রতিক্রিয়া পেয়েছে। প্রক্সি সার্ভার GET / অনুরোধ হ্যান্ডেল করতে পারে না। কারণ: দূরবর্তী সার্ভার থেকে পড়া ত্রুটি
প্রক্সি টাইমআউট বাড়ানোর জন্য, 50২ ত্রুটির আগে আপনার ব্রাউজারটি স্পিনে কী সময় পরিবর্তন করেছিল?
এরপর অ্যাপ্লিকেশন সার্ভারে কী ঘটছে তা আপনি কীভাবে খুঁজে পেতে পারেন: আপনি কয়েকটি থ্রেড ডাম্প নিতে পারেন এবং ব্রাউজারটি অপেক্ষা করার সময় কী সম্পাদন করছে তা তাদের কাছ থেকে দেখুন। বিকল্পভাবে, ধীর গতির কারণ চিহ্নিত করতে আপনার কোডটি টাস্ক করতে সক্ষম হওয়ার জন্য যথেষ্ট ডিবাগ লগিং বিবৃতি যোগ করুন।
আমি এটা ধীর কেন জানি। আমি অবশেষে প্রস্তুত যখন প্রতিক্রিয়ার কেন Apache প্রক্সি অস্বীকার করে জানি না।


আমার জন্য একটি শিরোনাম মান মুছে ফেলার জন্য Transfer-Encoding" (binary) আমার সার্ভার-এপ্লিকেশন (পিএইচপি) সমস্যার জন্য সমাধান করেছে:

[proxy_http: error] [pid 17623] (22) অবৈধ যুক্তি: [ক্লায়েন্ট   127.0.0.1:4499২২] AH01102: রিমোট সার্ভার 0.0.0.0:80 থেকে স্ট্যাটাস লাইন পড়তে ত্রুটি

মত অন্যান্য পরামর্শ SetEnv proxy-initial-not-pooled অথবা Keep-Alive না।


0
2018-05-21 12:27





উপরের সমাধানগুলি কাজ করে না, তবে আপনি যা করতে পারেন তা হল আপনার সমস্ত অ্যাপাচি মডিউলগুলি সক্রিয় করা যাতে আপনার কোনও মডিউল না থাকে যা কোনওভাবে দুর্ঘটনাক্রমে অক্ষম হয়ে থাকে।

উদাহরণস্বরূপ, আমার সমস্যাটির কারণ আমি কীভাবে খুঁজে পেয়েছিলাম আমার লোড মডিউল লোড মডিউল সহ # লোড মডিউল এর সমস্ত উদাহরণ প্রতিস্থাপনের জন্য। যেহেতু এটি আমার জন্য সমস্যাটি সমাধান করেছে, তাই আমি জানতাম যে আমার সমস্যাটি "KeepAlive" নির্দেশনা অনুপস্থিত ছিল না, বরং আমার সমস্যাটি অনুপস্থিত নির্ভরতা ছিল।

কারণ, মনে রাখবেন, .so ফাইলগুলি মূলত স্ট্যাটিক লাইব্রেরি। একটি মডিউল সক্ষম থাকার অর্থ এই নয় যে এটি ব্যবহার করা হবে, কিন্তু একটি নিষ্ক্রিয় থাকার অর্থ এই যে এটি ব্যবহার করা যাবে না, এবং তাই, এটির উপর নির্ভর করে এমন কিছুও অগত্যা ব্যর্থ হবে।

দ্রষ্টব্য: এই উত্তরটি কিছু ডাউন-ভোট পেয়েছে কারণ আমার প্রাথমিক উত্তরটি সব সময় মডিউলগুলিকে সক্ষম করার পরামর্শ দেয় বলে মনে হচ্ছে। আপনি তাত্ত্বিকভাবে কিছু ভাঙ্গাই ছাড়া এটি করতে পারে, যদিও, এটি সম্ভবত একটি ভাল অনুশীলন সমাধান নয়।

সুতরাং, অনুগ্রহ করে বুঝুন, আমি কেবল এটি একটি সমস্যা সমাধান পদক্ষেপ হিসাবে সুপারিশ করছি, একটি চূড়ান্ত সমাধান নয়।

এছাড়াও, দয়া করে নোট করুন: আমি আমার স্থানীয় মেশিনের অ্যাপাচি কনফিগারেশন ফাইলগুলি ট্র্যাক করতে একটি বিশেষ গিট প্রকল্প ব্যবহার করি। যেভাবে আমি আমার apache কনফিগারেশন কার্যকারী ডিরেক্টরিতে একটি সমস্যা সমাধান পদক্ষেপ হিসাবে বিশ্বব্যাপী অনুসন্ধান এবং প্রতিস্থাপন ক্রিয়াকলাপগুলি এই ধরণের করতে পারি। যদি সমস্ত মডিউল সক্রিয় করা সম্ভব হয় তবে তারপরে পুনরায় একটিকে অক্ষম করুন এবং অপাচিকে পুনরায় চালু করার চেষ্টা করুন, যতক্ষণ না আপনি কোনও মডিউলটি সক্রিয় থাকা পর্যন্ত এটি সক্রিয় থাকা প্রয়োজন। একবার আপনি এটি বের করে ফেলেন, তারপরে রিপো ব্যাকটি তার আসল অবস্থায় পুনরায় সেট করুন এবং শুধুমাত্র সেই এক মডিউল সক্ষম করুন যা সক্ষম থাকা দরকার।

আপনি আপনার apache কনফিগার ফাইলগুলি ট্র্যাক করতে git ব্যবহার করেও সেই ডিরেক্টরিগুলিকে মুছে ফেলতে পারবেন, যেহেতু আপনাকে সেই পুরানো-ফ্যাশন .bak এবং .default ফাইলগুলি আর প্রয়োজন হবে না।


-1
2017-12-24 09:56



প্রতিটি লাইব্রেরি একটি ভিন্ন বৈশিষ্ট্য আনা, necesarily প্রক্সি সম্পর্কিত নয় - Arnold Roa