Nginx 411 সামগ্রী-দৈর্ঘ্যের প্রয়োজনীয় ত্রুটিগুলি এড়ানোর কোনও উপায় আছে কি?


11

বিষয়বস্তুর দৈর্ঘ্য নির্দিষ্ট না করে PUT করার চেষ্টা করার সময় আমি nginx থেকে ফিরে 411 স্থিতি পাচ্ছি। এটি ঘটতে অক্ষম করার কোনও উপায় আছে কি?

nginx 

উত্তর:


10

আপনি আপনার ক্যোয়ারিতে এটি যুক্ত করার চেষ্টা করতে পারেন:

কার্ল -i-এক্স পুট-এইচ 'সামগ্রী-দৈর্ঘ্য: 0' ' http://www.example.com/test '

HttpChunkinModule ইনস্টল করার চেষ্টা করুন বা Nginx কে 1.3.9+ এ আপডেট করুন

Nginx 1.3.9+ এর জন্য এই মডিউলটির আর প্রয়োজন নেই কারণ 1.3.9 সাল থেকে, নিনগিন্স কোর ইতিমধ্যে খণ্ডিত অনুরোধ সংস্থাগুলির জন্য অন্তর্নির্মিত সমর্থন করেছে।


5

PUT অনুরোধগুলির জন্য সামগ্রী-দৈর্ঘ্য প্রয়োজন। এটি এনগিনেক্স নয়, এটি এইচটিটিপি যা এই প্রয়োজনীয়তা তৈরি করে। POST অনুরোধের মতো PUT অনুরোধের অগত্যা একটি সামগ্রী বডি থাকে। এই শরীরটি শূন্য দৈর্ঘ্যের হতে পারে, তবে এটি যদি হয় তবে আপনাকে স্পষ্টভাবে এটি বলতে হবে। স্পষ্টতই আপনি ধরে নিতে পারবেন না যে সংযোগটি বন্ধ না হওয়া অবধি সামগ্রীটি চলতে থাকবে (যা অনুপস্থিত সামগ্রীর দৈর্ঘ্যের শিরোনামটি বোঝায়) কারণ সংযোগটি বন্ধ হওয়ার আগে সার্ভারটি অনুরোধটির প্রতিক্রিয়া জানাতে সক্ষম হতে হবে।


3
এটি ভুল। w3.org/Protocols/rfc2616/rfc2616-sec4.html "একটি অনুরোধে একটি বার্তা-বডি উপস্থিতি অনুরোধের বার্তা-শিরোলেখগুলিতে একটি সামগ্রী-দৈর্ঘ্য বা স্থানান্তর-এনকোডিং শিরোনাম ক্ষেত্র অন্তর্ভুক্তির দ্বারা চিহ্নিত করা হয়।" এটি এনগিনেক্সে একটি বাগ যা আরও সাম্প্রতিক সংস্করণগুলিতে স্থির হয়েছে। নোট করুন যে এই বাগটি PUT এর POST এর অনেক আগে স্থির হয়েছিল।
নিক পামার

2

পুরানো প্রশ্ন, তবে যেহেতু আমি ওয়েব অনুসন্ধান থেকে এটিকে হোঁচট খেয়েছি:

NginX 1.3.9 এবং তারপরে POST এবং PUT এর বাক্সের বাইরে "ট্রান্সফার-এনকোডিং: খণ্ডিত" সমর্থন করে।

খণ্ডিত স্থানান্তরের মাধ্যমে আপনি প্রথমে সামগ্রীের দৈর্ঘ্য নির্ধারণ না করে ফাইলগুলি প্রেরণ করতে পারবেন।


হ্যাঁ যে এটি স্থির, ধন্যবাদ!
রজারডপ্যাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.