কীভাবে একাধিক লাইনে nginx কনফিগারেশন বিভক্ত করবেন?


13

বিশেষত এইচপিকেপি শিরোনাম (বা সাধারণভাবে অন্যান্য দীর্ঘ শিরোনাম) কনফিগার করার সময় একাধিক লাইনের উপরে একটি এনজিএনএক্স কনফিগারেশনে একটি লাইন বিভক্ত করা কার্যকর হবে।

এই কাঙ্ক্ষিত ফলাফল:

pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg=";
pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec="; 
pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg="; 
pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg="; 
pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo="; 
pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g=";

তবে ব্রাউজারের জন্য এটি কেবল একটি লাইন হওয়া উচিত:

pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg="; pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec="; pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg="; pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg="; pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo="; pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g=";

তাই আমি কিছু জিনিস চেষ্টা করেছি, তবে আমি ফলাফলের সাথে সন্তুষ্ট নই ...

প্রথম চেষ্টা করুন: কেবল এটি বিভক্ত করুন

add_header Public-Key-Pins '
pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg=";
pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec=";
pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg=";
pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg=";
pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo=";
pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g=";
'

এটি কাজ করে তবে curlআমি দেখতে পাচ্ছি যে ব্রাউজারগুলি সমস্ত লাইন ব্রেক সহ শিরোনাম গ্রহণ করে ...

দ্বিতীয় চেষ্টা: ব্যাকস্ল্যাশ

প্রকৃতপক্ষে ইতিমধ্যে সংযুক্ত নিবন্ধে স্কট হেল্মি এটির প্রস্তাব দেয়:

add_header Public-Key-Pins ' \
pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg="; \
pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec="; \
pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg="; \
pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg="; \
pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo="; \
pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g="; \
'

তবে আমার ক্ষেত্রে এটি স্ল্যাশগুলি কেবল যুক্ত করেছে এবং এগুলি ব্রাউজারেও ফিরিয়ে দিয়েছে, সুতরাং এটি কাজ করে না।

তাহলে আমি কীভাবে এটি করতে পারি?

বোনাস

অবশ্যই প্রতিটি লাইনের জন্য মন্তব্যগুলি একটি দুর্দান্ত সংযোজন হবে:

pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg="; # current ECDSA
pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec="; # current RSA (nginx 1.11.0)
pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg="; # backup ECDSA 1
pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg="; # backup ECDSA 2
pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo="; # backup RSA 1
pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g="; # backup RSA 2

1
লুয়া বা পার্ল মডিউলটি ব্যবহার করতে পারে?
অ্যালেক্সি দশ

কি? আমি এটা কিভাবে করবো? তবে এর পরিবর্তে আমি বরং এর জন্য সরাসরি এনজিনেক্স কনফিগারেশন ফাইলে একটি সমাধান চাই। আমি বোঝাতে চাইছি এটি কোনও কনফিগার নির্দেশের জন্য একাধিক লাইন ব্যবহার করতে সক্ষম হওয়ার মতো অসাধারণ অনুরোধ নয় ... কমপক্ষে যদিও আমি এটি করছি।
rugk

এটি এখনও আপনার কনফিগার ফাইলে থাকতে পারে। আপনার এনগিনেক্সগুলি এইগুলির মধ্যে একটি মডিউল সক্ষম করার সাথে সংকলিত আছে তবে এটি কেবল একটি প্রশ্ন।
আলেক্সি টেন

বর্তমানে এটি এই মডিউলগুলির সাথে সংকলন করা হয়নি (যদি না তারা এনজিনেক্স দ্বারা সংকলিত মডিউলগুলির ডিফল্ট সংকলনে থাকে) তবে আমি অবশ্যই এইরকম একটি মডিউল সহ একটি সংস্করণ সংকলন করতে পারি ... যদি এটি "সমস্যা" সমাধান করতে সহায়তা করে।
রাগ্ক

উত্তর:


8

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

set $PKP '';
set $PKP '${PKP}pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg=";'; # current ECDSA
set $PKP '${PKP}pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec=";'; # current RSA (nginx 1.11.0)
set $PKP '${PKP}pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg=";';  # Backup ECDSA 1
set $PKP '${PKP}pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg=";';  # Backup ECDSA 2
set $PKP '${PKP}pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo=";'; # backup RSA 1
set $PKP '${PKP}pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g=";';  # Backup RSA 2

add_header Public-Key-Pins $PKP;

এটি সত্যই একটি ভাল ধারণা এবং এটি কার্যকর হয়। এটি অনেক বেশি কাজ করার মতো বিষয়, তবে এটি অবশ্যই এটি করার একটি উপায়।
rugk

আমি যখন এটি সার্ভারে রেখেছি}} আমি পেয়েছি:
এনগিনেক্স

0

;বিভাজক হয়

যাতে আপনি একাধিক লাইনে জিনিস রাখতে পারেন, কেবলমাত্র শেষ লাইনের সাথে শেষ করুন ;


আমি First try: Just split itযদি এটি সঠিকভাবে বুঝতে পারি তবে এটিই আমি চেষ্টা করেছিলাম। সেখানে সমস্যা ছিল যে ক্লায়েন্ট সমস্ত লাইন ব্রেক সহ শিরোনাম গ্রহণ করেছে।
rugk

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