के रूप में चलाने के दौरान भी मेरे पास nginx के पीछे uWSGI के तहत चल रहा एक फ्लास्क ऐप है।अपस्ट्रीम पढ़ने के दौरान nginx अनुमति अस्वीकार की गई - यहां तक कि रूट
*1 readv() failed (13: Permission denied) while reading upstream, client: 10.0.3.1, server: , request: "GET /some/path/constants.js HTTP/1.1", upstream: "uwsgi://unix:/var/uwsgi.sock:", host: "dev.myhost.com"
सॉकेट पर अनुमतियों को ठीक (666, और nginx रूप में एक ही उपयोगकर्ता के लिए सेट), वास्तव में, यहां तक कि जब मैं रूट के रूप में चलाने के nginx मैं अभी भी इस त्रुटि मिलती है।
फ्लास्क ऐप/uwsgi अनुरोध को ठीक से भेज रहा है। लेकिन यह सिर्फ Nginx द्वारा पढ़ा नहीं जा रहा है। यह उबंटू यूटोपिक यूनिकॉर्न पर है।
कोई विचार जहां अगर nginx प्रक्रिया में सॉकेट तक पूर्ण पहुंच हो तो अनुमति अस्वीकार हो सकती है?
एक जटिल कारक के रूप में यह सर्वर एक कंटेनर में चल रहा है जिसमें उबंटू 14.04 स्थापित है। और यह सेटअप काम करने के लिए प्रयोग किया जाता था ... लेकिन मैंने हाल ही में मेजबान को 14.10 तक अपग्रेड किया ... मैं पूरी तरह से समझ सकता हूं कि यह समस्या का कारण हो सकता है। लेकिन इससे पहले कि मैं मेजबान को डाउनग्रेड करें या कंटेनर को अपग्रेड करें, मैं समझना चाहता हूं कि क्यों।
जब मैं एक कार्यकर्ता जो इस त्रुटि मैं कॉल यह बना रहा है देखते हैं पैदा कर रहा है पर strace चलाने कुछ इस तरह है:
readv(14, 0x7fffb3d16a80, 1) = -1 EACCES (Permission denied)
14
फ़ाइल वर्णनकर्ता इस सिस्टम कॉल के द्वारा बनाया जा रहा है
socket(PF_LOCAL, SOCK_STREAM, 0) = 14
तो यह स्थानीय सॉकेट से नहीं पढ़ा जा सकता है जिसे उसने अभी बनाया है?
क्या आप फिक्स के बारे में अधिक जानकारी जोड़ सकते हैं? मेरे मामले में काम नहीं लग रहा है। –
मैंने अपने उत्तर में दो प्रासंगिक रेखाएं जोड़ दी हैं।लेकिन अगर वे आपके लिए समस्या को ठीक नहीं कर रहे हैं तो आपके पास एक असंबंधित समस्या हो सकती है :( – aychedee
दुर्भाग्य से मेरे सिस्टम पर usr.bin.lxc-start फ़ाइल नहीं है, केवल /etc/apparmor.d/docker है। और जब मैं डॉकर फ़ाइल के साथ वर्णित प्रक्रिया करें, डॉकर सेवा अब 'डेमॉन से त्रुटि प्रतिक्रिया के साथ शुरू नहीं होती है: कंटेनर डेटाबेस शुरू नहीं कर सकता: एपर्मर प्रोफाइल डॉकर-डिफॉल्ट सेट करें: ऐसी कोई फ़ाइल या निर्देशिका FATA [0000] त्रुटि: एक प्रारंभ करने में विफल रहा है या अधिक कंटेनर –