হঠাৎ করেই কেন Nginx $ ssl_client_i_dn এর ফর্ম্যাটটি বদলে গেল?


13

আমরা আমাদের গ্রাহকদের একের প্রমাণীকরণের জন্য ক্লায়েন্ট সাইড শংসাপত্রগুলি ব্যবহার করছি।

আমাদের সেটআপটি হ'ল: জাজানো অ্যাপ্লিকেশনটির সামনে আমাদের এনগিনেক্স রয়েছে। আমাদের nginx কনফিগ, আমরা কাজ (প্রকৃত ক্লায়েন্ট-সাইড-শংসাপত্র যাচাই পেতে প্রয়োজনীয় পরামিতি আছে ssl_client_certificate, ssl_verify_clientইত্যাদি) এবং

uwsgi_param X-Client-Verify $ssl_client_verify;
uwsgi_param X-Client-DN $ssl_client_s_dn;
uwsgi_param X-SSL-Issuer $ssl_client_i_dn;

যার অর্থ হ'ল আমরা আমাদের জ্যাঙ্গো অ্যাপ্লিকেশনে সেই পরিবর্তনশীলগুলির মান পাই। জ্যাঙ্গো অ্যাপ্লিকেশনটি তখন কোন ব্যবহারকারী তাদের সংযোগ করছে এবং তাদের অনুমোদন দিচ্ছে তা সনাক্ত করতে এই তথ্য ব্যবহার করে।

হঠাৎ করে আমরা শংসাপত্রগুলি ব্যবহার করে লোকেরা লগ ইন করতে না পারার বিষয়ে প্রতিবেদন পেতে শুরু করলে আমরা কোনও সমস্যা ছাড়াই বেশ কয়েক মাস ধরে এটি সফলভাবে ব্যবহার করছি। দেখা গেল যে স্ল্যাশ-বিচ্ছিন্ন বিন্যাস থেকে, $ssl_client_s_dnএবং $ssl_client_i_dnমানগুলির বিন্যাসটি পরিবর্তিত হয়েছিল:

 /C=SE/O=Some organziation/CN=Some CA

কমা-বিচ্ছিন্ন বিন্যাসে:

CN=Some CA,O=Some organization,C=SE

এটি সমাধান করা সহজ ছিল, তবে কেন তা বুঝতে পারছি না। সুতরাং আমার প্রশ্নগুলি আসলে:

  1. কোথা থেকে $ssl_client_s_dnআসবে মান ? এটি nginx দ্বারা সেট করা হয়? ক্লায়েন্ট?
  2. এই মানটি যে ফর্ম্যাটটির থাকতে পারে তার কোনও ডকুমেন্টেশন / স্পেসিফিকেশন রয়েছে এবং এর কোনও নাম আছে?

উত্তর:


18

তারা পরিবর্তিত হয়েছে কারণ এনজিনেক্স তাদের প্রকাশিত 1.11.6 এ পরিবর্তন করেছে। চেঞ্জলগে প্রদর্শিত হয়েছে:

    *) Change: format of the $ssl_client_s_dn and $ssl_client_i_dn variables
       has been changed to follow RFC 2253 (RFC 4514); values in the old
       format are available in the $ssl_client_s_dn_legacy and
       $ssl_client_i_dn_legacy variables.

আপনি যদি এই ধরণের জিনিস এড়াতে চান তবে আপনার অস্থির মূললাইন প্রকাশের পরিবর্তে স্থিতিশীল রিলিজগুলিতে আটকা উচিত। যেভাবেই হোক, অন্ধভাবে উত্পাদন আপগ্রেড করার আগে আপনার প্রথমে পরীক্ষা করা উচিত।

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