প্রক্সি ত্রুটি 502 "কারণ: রিমোট সার্ভার থেকে পড়তে ত্রুটি" অ্যাপাচি ২.২.৩ (ডেবিয়ান) মোড_প্রক্সি এবং জেটি .1.১.১৮ সহ


80

অ্যাপাচি বন্দরে অনুরোধগুলি গ্রহণ করছে: 80 এবং তাদের জেটির কাছে বন্দরে প্রক্সিং করা হচ্ছে: 8080

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

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

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

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

#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:::

হাই .. আমি এখনও এই এক সাথে আটকে আছি। উপরের সমস্ত সেটিংস চেষ্টা করেছে এবং জেটি ম্যাক্সআইডলটাইমও বাড়িয়ে দেয়নি। কোন পয়েন্টার পরে কি চেষ্টা করবেন?
মার্টিন

উত্তর:


91

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

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

ওটা দেখ

Keepalive=On

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


9
আমি বিশ্বাস করি আপনি নিজের উত্তরগুলি স্বীকৃত হিসাবে চিহ্নিত করতে পারেন। এটি অন্যান্য ব্যক্তিদের অনুসন্ধানের জন্য সিস্টেমে সমাধান হওয়া প্রশ্নটিকে চিহ্নিত করে।
sysadmin1138

আপনি এই ঠিক কোথায় রাখবেন?
AlxVallejo

1
@AlxVallejo আপনি আপনার কনফিগ ফাইল এখানে /etc/apache2/sites-enabled/[sitename].conf হবে
স্টিভেন

1
আমাদের ঠিক একই প্রক্সি ত্রুটি রয়েছে। এগুলি খুব কমই ঘটে (এক হাজার অনুরোধের মধ্যে একটি)। কেন যে Keepalive=Onসমালোচনা?
ডকস্পার

এটির পরিবর্তে এটিই timeout=600বা retry=1এটি ঠিক করতে পারে না? (বা কম্বো)
ম্যাটবিয়ানকো

4

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

এখানে রেফারেন্স


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

4

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


1

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

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

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

যদি একই প্রক্সিটি অন্যান্য ব্যাকেন্ডগুলিকেও পরিবেশন করে তবে বর্তমান প্রক্সিটাইমআউটটি রাখা, এবং প্রক্সিপাস নির্দেশিকায় টাইমআউট কনফিগার করা (মোড_প্রক্সী ডকুমেন্টেশন দেখুন) ভাল better

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


"আপনি যখন জেটি সার্ভারটি সরাসরি অ্যাক্সেস করেন, তখন কি এই সংস্থানটি কোনও প্রতিক্রিয়া তৈরি করতে সত্যই সময় নেয়?" -- হ্যাঁ. আমি এই প্রক্সিটাইমআউট 600 এ সেট করার চেষ্টাও করেছি help প্রক্সি এবং জেটির মধ্যে কোনও ফায়ারওয়াল নেই। টাইমআউট প্রক্সিপাসেও কনফিগার করা হয়েছে।

"এটি কী হতে পারে তা সনাক্ত করার জন্য আপনি কোনও মূল্যমান সরবরাহ করছেন না": আমি জানি না এটি কী হতে পারে। আমি যা পাচ্ছি তা সার্ভারের একটি ত্রুটি বার্তা: প্রক্সি ত্রুটি প্রক্সি সার্ভারটি একটি আপস্ট্রিম সার্ভার থেকে একটি অবৈধ প্রতিক্রিয়া পেয়েছে। প্রক্সি সার্ভারটি অনুরোধটি জিইটি / হ্যান্ডেল করতে পারেনি। কারণ: রিমোট সার্ভার থেকে পড়তে ত্রুটি

প্রক্সি সময়সীমা বাড়ানোর ক্ষেত্রে, এটি কি আপনার ব্রাউজারের 502 ত্রুটি পাওয়ার আগে স্পিন করার সময় পরিবর্তন করেছিল?

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

আমি জানি এটা কেন ধীর। আমি জানি না কেন শেষ পর্যন্ত প্রস্তুত হয়ে গেলে অ্যাপাচি প্রক্সি প্রতিক্রিয়া প্রত্যাখাত করে।

0

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

[প্রক্সি_এইচটিপি: ত্রুটি] [পিড 17623] (22) অবৈধ যুক্তি: [ক্লায়েন্ট 127.0.0.1:44929] এএএচ 01102: রিমোট সার্ভার থেকে স্ট্যাটাস লাইন পড়তে ত্রুটি 0.0.0.0:80

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


0

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

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

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

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

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

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

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


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