এনগিনেক্স এইচটিটিপিএস-এর মাধ্যমে অজানা সার্ভারের নাম প্রত্যাখ্যান করুন


7

আমার একটি এনগিনেক্স উদাহরণ রয়েছে যা একটি একক আইপি থেকে একাধিক এইচটিটিপিএস ডোমেন সরবরাহ করতে এসএনআই ব্যবহার করে।

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

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

উত্তর:


7

এই প্রশ্নটি গতকাল আমি যেটির উত্তর দিয়েছি তার সাথে বেশ অনুরূপ: এনজিনেক্স এবং এসএনআই: ডোমেন নাম দ্বারা এসএসএল শংসাপত্রটি স্বয়ংক্রিয়ভাবে সমাধান করা সম্ভব?

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

server {
    listen 433 default_server ssl;
    ssl_certificate       common.crt;
    ssl_certificate_key   common.key;
    return 403;
}

তবে সর্বাধিক সাম্প্রতিক ব্রাউজারগুলি সার্ভার নেম ইঙ্গিতটিকে সমর্থন করে এবং আপনার যদি প্রতিটি ভোস্টের জন্য একটি শংসাপত্র সেট থাকে তবে কোনও সাধারণ ব্যবহারকারীর পক্ষে সেই বার্তাটি দেখার সম্ভাবনা খুব কম।

Iptables সহ SSL দ্বারা নির্দেশিত বৈধ হোস্টনাম ছাড়াই সংযোগগুলি প্রত্যাখ্যান করা সম্ভব হতে পারে তবে এটি সম্ভবত বেশ জটিল এবং কোনও মানদণ্ডে মোটেই উপযুক্ত হবে না।

আপডেট হওয়া তথ্য:return 444 শংসাপত্রের ত্রুটি দেখানোর আগে অবিলম্বে টিসিপি সংযোগটি বাতিল করা সম্ভব ।


এসএনআই ব্যবহার করে, প্রদত্ত ডোমেন নামের কোনও শংসাপত্র না থাকলে আপনি তাত্ত্বিকভাবে সংযোগটি বাতিল করতে পারেন, এটি কোনও শংসাপত্রের ত্রুটি প্রদর্শন করার চেয়ে আরও ভাল। আপনি কীভাবে এটি জানেন?
যোগু

হ্যাঁ, আমি সনাক্ত করেছি যে return 444কোনও শংসাপত্রের ত্রুটি দেখানোর আগে tcp সংযোগটি বাতিল করা সম্ভব ।
xblax

@ এক্সব্লাক্স আপনি কীভাবে আমাদের বলতে পারেন যে শংসাপত্র দেখানোর আগে 444 ফিরিয়ে দিতে হবে? আমি জানি না এমন কোনও সার্ভার_নামের অনুরোধের জন্য আমি হ্যান্ডশেকের মাধ্যমে সংস্থানগুলি নষ্ট করব না। অনুরোধটি ডিক্রিপ্ট করার আগে এসএনআইয়ের অনুরোধ করা নামটি প্রকাশ করা উচিত।
স্ট্যাটিক ঝড় 17

0

যদি আপনার ডোমেনগুলি একই মাস্টার (* .example.com) এর সাবডোমেন হয় তবে আপনি একটি ওয়াইল্ডকার্ড শংসাপত্র ব্যবহার করতে পারেন। এটি ব্যর্থ হয়ে, আমি মনে করি না যে আপনি কোনও শংসাপত্র সরবরাহ করতে পারেন এতে ব্রাউজারটি খুশি হবে।


হাই ক্রিস আমি ওয়াইল্ডকার্ড পয়েন্টটির প্রশংসা করি তবে আমি যা বলছি তা আসলে তা নয়। হ্যাঁ, ব্রাউজারটি কোনও শংসাপত্র পছন্দ করবে না তবে অনুরোধকৃত সার্ভার নামের উপর ভিত্তি করে সংযোগ প্রত্যাখ্যান করার কোনও উপায় আছে কি? (আমি সন্দেহ করছি না, তবে এটি জিজ্ঞাসা করার জায়গাটি মনে হচ্ছে ... :)
কার্লটন গিবসন

অনির্ধারিত অনুমান -> আপনার একটি বৈধ শংসাপত্র সরবরাহ করতে হবে বা ব্রাউজারটি সংযোগটি অনিরাপদ বিবেচনা করবে। ব্রাউজারটি তাই আপনাকে প্রেরণ করা কোনও পুনঃনির্দেশের উপর কাজ করবে না যতক্ষণ না ব্যবহারকারী কোনও ওভাররাইডের অনুমতি দেয় না। ওভাররাইডটি স্বয়ংক্রিয়ভাবে সম্পাদন করার জন্য আমি একমাত্র উপায়টি হ'ল একটি বৈধ শংসাপত্র সরবরাহ করা। :-(
ক্রিস নাভা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.