टेटक 8 के लिए mod_proxy के साथ उपलब्ध अनुपलब्ध 503 सेवा Httpd


81

मैं अपाचे के साथ टॉमकैट को एकीकृत करने की कोशिश कर रहा हूं। मेरा उद्देश्य सभी अनुरोधों को पुनर्निर्देशित http://localhost/myappकरना हैhttp://localhost:8080

मैंने इस गाइड का अनुसरण किया: http://tomcat.apache.org/tomcat-8.0-doc/proxy-how.html

मेरा httpd.confऐसा दिखता है:

Include conf.modules.d/*.conf
LoadModule proxy_module  modules/mod_proxy.so

ProxyPass         /myapp  http://localhost:8080 retry=0 timeout=5
ProxyPassReverse  /myapp  http://localhost:8080

Apache-tomcat में मेरा server.xml इस तरह दिखता है:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" proxyPort="80" />

अब जब मैं url की कोशिश करता हूं http://localhost/myapp, तो यह 503 Service Unavailableत्रुटि देता है।

टॉम्कट और अपाचे दोनों ऊपर और चल रहे हैं। URL http://localhost:8080ठीक काम करता है।

फ़ाइल अनुमतियों के साथ कोई समस्या हो सकती है?

के लिए tomcatउपयोगकर्ता और समूह हैं root/rootऔर के लिए httpd, उपयोगकर्ता और समूह हैंapache/apache

क्या मुझे कुछ याद आ रहा है या मैं इसे गलत कर रहा हूं?

Httpd संस्करण 2.4.6 है और टॉमकैट का संस्करण 8.0 है

Httpd त्रुटि लॉग:

[proxy:error] [pid 19905] (13)Permission denied: AH00957: HTTP: attempt to connect to 127.0.0.1:8080 (localhost) failed

[proxy:error] [pid 19905] AH00959: ap_proxy_connect_backend disabling worker for (localhost) for 0s

[proxy_http:error] [pid 19905] [client ::1:51615] AH01114: HTTP: failed to make connection to backend: localhost

हल किया!

इसका जवाब यहाँ है: http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/


3
संकेत के लिए धन्यवाद। मुझे यह sysadminsjourney.com/content/2010/02/01/… मिला, जिसने इस मुद्दे को हल किया
user2354302

बेहतर है कि आप
रिट्री

3
एफडब्ल्यूआईडब्ल्यू, मुझे 503 त्रुटि मिल रही थी लेकिन टाइमआउट के साथ। यह पता चला कि अपनी ProxyPass*लाइनों के लिए मैं अपने वास्तविक सर्वरनाम का उपयोग नहीं कर सकता था और इसके बजाय localhostमेरे या मेरे आईपी पते का उपयोग करने की आवश्यकता थी , उदाहरण के लिए ProxyPass / http://localhost/काम किया लेकिन ProxyPass / http://example.com/नहीं किया।
inanutshellus

जवाबों:


129

(एक प्रश्न संपादित करें में ओपी द्वारा उत्तर दिया गया। एक समुदाय विकी उत्तर में परिवर्तित किया गया। बिना किसी उत्तर के प्रश्न देखें , लेकिन टिप्पणियों में हल किया गया मुद्दा (या चैट में विस्तारित) )

ओपी ने लिखा:

इसका जवाब यहाँ है: http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/

जो एक ब्लॉग का लिंक है जो बताता है:

डिफ़ॉल्ट जहाजों द्वारा RHEL / CentOS पर SELinux ताकि httpd प्रक्रिया आउटबाउंड कनेक्शन आरंभ नहीं कर सके, जो कि mod_proxy करने का प्रयास करता है।

यदि यह समस्या है, तो इसे हल करके हल किया जा सकता है:

 /usr/sbin/setsebool -P httpd_can_network_connect 1

और जानकारी के अधिक निश्चित स्रोत के लिए, https://wiki.apache.org/httpd/13PermissionDenied देखें


3
मुझे लगता है कि यह एकमात्र कारण नहीं है 503। क्योंकि SELinux अक्षम है। यह VirtualHost config त्रुटि हो सकती है।
स्टैमिमर

6

यह मेरे लिए काम किया:

ProxyRequests     Off
ProxyPreserveHost On
RewriteEngine On

<Proxy http://localhost:8123>
Order deny,allow
Allow from all
</Proxy>

ProxyPass         /node  http://localhost:8123  
ProxyPassReverse  /node  http://localhost:8123

1
फ़ाइल का नाम और स्थान क्या है ??
मनीष

2
अचानक आज अपाचे प्रॉक्सी आईपी 1.2.3.4 इतना से बदलाव के साथ स्थानीय मशीन पर बस के लिए 443 काम करना बंद कर ProxyPass / http:// 1.2.3.4:1234 करने के लिए ProxyPass / http://localhost:1234 (समान रूप से ProxyPassReverse के लिए किया जाता है) - मैं नहीं जानता कि क्यों यह आज हुआ। UnattendedUpdate ने अपाचे-संबंधित सामान स्थापित नहीं किया, और आज नहीं चला।
एली

@ फ़ाइल /etc/apache2/sites-available/your-domain.com-le-ssl.conf या Centos के समतुल्य को गायब करें। और हाँ मेरे mydom.com को बदलने: <port> को लोकलहोस्ट करने के लिए: <port> ने मेरे लिए ubunbtu पर काम किया
नेल्स

6

समस्या को तत्काल हल करें, यह आंतरिक सुरक्षा से संबंधित है

हम, SnippetBucket.com एंटरप्राइज़ linux RedHat के लिए काम कर रहे हैं, पाया गया कि httpd सर्वर प्रॉक्सी को चलाने की अनुमति नहीं देता है, न ही लोकलहोस्ट या 127.0.0.1, और न ही कोई अन्य बाहरी डोमेन।

सर्वर लॉग में जांच के रूप में मिला

[error] (13)Permission denied: proxy: AJP: attempt to connect to
   10.x.x.x:8069 (virtualhost.virtualdomain.com) failed

ऑडिट लॉग में समान पोर्ट समस्या पाई गई

type=AVC msg=audit(1265039669.305:14): avc:  denied  { name_connect } for  pid=4343 comm="httpd" dest=8069 
scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:port_t:s0 tclass=tcp_socket

लिनक्स की आंतरिक डिफ़ॉल्ट सुरक्षा के कारण, इस कारण, अब ठीक करने के लिए (अस्थायी)

 /usr/sbin/setsebool httpd_can_network_connect 1

स्थायी मुद्दा हल करें

/usr/sbin/setsebool -P httpd_can_network_connect 1

0

CentOS Linux रिलीज़ 7.5.1804 पर, हम संपादन / etc / selinux / config द्वारा इस काम को करने में सक्षम थे और SELINUX की सेटिंग को इस तरह बदल रहे थे:

SELINUX=disabled
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.