HTTP বেসিক প্রমাণীকরণের "স্ট্রিপ" করার জন্য সরঞ্জাম প্রয়োজন Need


1

শিরোনামটি কিছুটা দু: খজনক মনে হচ্ছে, তবে এটি আসলে নয়।

আমার বাড়িতে কয়েকটি আইপি ওয়েবক্যাম রয়েছে। এগুলির সকলেরই একটি মাল্টিপার্ট-জেপিগ স্ট্রিমের আকারে চলমান চিত্রগুলি পরিবেশন করার দক্ষতা রয়েছে। উদাহরণস্বরূপ, আমি যদি যাই তবে আমি http://frontdoor-cam/videostream.cgiআমার সামনের বারান্দাটি দেখায় একটি মাল্টিপার্ট-জেপেইগ পাই।

এই মুহুর্তে এই সমস্ত ক্যামেরা এইচটিটিপি বেসিক প্রমাণীকরণ ব্যবহার করে। এটি বন্ধ করার কোনও বিকল্প নেই।

আমি একটি ওয়েব পৃষ্ঠা রাখতে চাই যেখানে এন ইউজারআইডি / পাসওয়ার্ড সংমিশ্রণ প্রবেশ না করেই আমি এই সমস্ত ক্যামেরার দিকে নজর দিতে পারি । আমি ইউআরএলগুলি ব্যবহার করে চিত্রগুলি এম্বেড করার চেষ্টা করেছি http://userid:password@frontdoor-cam/videostream.cgiতবে ক্রোম (এবং সম্ভবত অন্য ব্রাউজারগুলি) স্পষ্টতই "সুরক্ষার কারণে" URL এর এই স্টাইলটির সমর্থন সরিয়ে ফেলছে। (আমি ধরেছি এটি ফিশিং আক্রমণগুলির সাথে সম্পর্কিত ছিল))

সুতরাং আমি যা করতে চাই তা হল আমার লিনাক্স বাক্সে এমন কিছু সফ্টওয়্যার চলছে যা একটি মধ্যস্থতা হিসাবে কাজ করবে। এর জন্য একটি অনুরোধ শংসাপত্রগুলি পাস http://mylinuxbox/whatever/frontdoor.fooকরার অনুরোধটি সম্পাদন করবে http://frontdoor-cam/videostream.cgi(যা আমি কেবল এটির কনফিগারেশনে অন্তর্ভুক্ত করব) এবং প্রতিক্রিয়াটি ফিরিয়ে আনব (স্ট্রিমিং গুরুত্বপূর্ণ, যেহেতু জেপিইগ চিত্রগুলির একটি অবিরাম প্রবাহ ফেরত পাঠানো হবে)।

আমি আশা করছি এমন কিছু ইতিমধ্যে রয়েছে যা এটি মোটামুটি সহজেই করতে পারে। সফ্টওয়্যারটি হয় কিছু নিজস্ব স্ট্যান্ডলোন যা তার নিজস্ব বন্দরে চলতে পারে বা এটি অ্যাপাচি মডিউল হতে পারে। (আমার কাছে ইতিমধ্যে আমার মেশিনে অ্যাপাচি ২.২ চলছে))

উত্তর:


3

আপনার যা দরকার তা হ'ল আপনার লিনাক্স বাক্সে একটি বিপরীত প্রক্সি চলছে। তারপরে http://username:password@domain/সিনট্যাক্স ব্যবহার করে ক্যামেরাগুলি অ্যাক্সেসের জন্য আপনার প্রক্সিটিতে অনুরোধ থাকতে পারে । বেশিরভাগ ওয়েবসারভার সফ্টওয়্যার বিপরীত প্রক্সি হিসাবে সেটআপ করা যেতে পারে।


আহ, হ্যাঁ, "বিপরীত প্রক্সি" শব্দটি আমি খুঁজছিলাম! mod_proxyসেই মোডে কাজ করতে পারে এমন আমারও ধারণা ছিল না । ধন্যবাদ!
লরেন্স গনসাল্ভেভস

3

এটি ভারী জবাবের একটি বিবরণ, অন্য যে কোনও কিছুর চেয়ে বেশি। তার উত্তরের ভিত্তিতে, আমি আমার অ্যাপাচি কনফিগারেশনে যা করতে পেরেছি তা এখানে:

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so

...

<Proxy *>
    Allow from all
</Proxy>

ProxyPassMatch ^/cams/noauth/([-a-z]*)/(.*)$ http://$1-cam/$2

<LocationMatch "/cams/noauth/">
    RequestHeader set Authorization "Basic dXNlcmlkOnBhc3N3ZA=="
</LocationMatch>

এটি এটিকে এমন করে তোলে যাতে কোনও অনুরোধের সাথে http://mylinuxbox/cams/noauth/LOCATION/WHATEVERপ্রক্সিটি উল্টে যায় http://LOCATION-cam/WHATEVERএবং উপযুক্ত অনুমোদনের শিরোনাম প্রেরণ করা হবে।

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

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

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