আমি যদি আমার সুরক্ষা শংসাপত্র (গুলি) পুনর্নবীকরণ করি তবে আমার কি এনগিনেক্স পুনরায় চালু করতে হবে?


33

সুতরাং আমি এসএসএল সহ একটি এনগিনেক্স সার্ভার সেট আপ করছি সার্ভার সংজ্ঞা সহ এমন কিছু সক্রিয় করা:

server {
    listen :80;
    listen [::]:80;
    server_name example.org;
    root /foo/bar;

    ssl on;
    ssl_certificate /path/to/public/certificate;
    ssl_certificate_key /path/to/private/key;

    ...
}

আপনি ধারণাটি পেয়েছেন (দয়া করে কোনও টাইপকে ক্ষমা করুন)।

যাইহোক, আমি যা ভাবছি তা হ'ল; আমি যদি আমার শংসাপত্রগুলি পুনর্নবীকরণ করি তবে এনজিনেক্স পুনরায় আরম্ভ না করে সেগুলি ইনস্টল করার কোনও উপায় আছে কি?

উদাহরণস্বরূপ, যদি আমি আমার বর্তমান শংসাপত্রের (গুলি) থেকে প্রতীকী লিঙ্কগুলি ব্যবহার করি /path/to/public/certificateএবং /path/to/private/keyআমার nginxকেবল নতুন (পুনর্নবীকরণকৃত) শংসাপত্রগুলিতে ইঙ্গিত করতে হয় তবে আমার কি পুনরায় আরম্ভ করা দরকার ? বিকল্প আছে?

উত্তর:


26

হ্যাঁ, আমি নিশ্চিত যে সঠিকভাবে মেয়াদ শেষ হওয়ার তারিখটি প্রদর্শনের জন্য আপনাকে পুনর্নবীকরণ শংসাপত্রগুলির জন্য Nginx পুনরায় লোড করতে হবে, তবে একটি সাধারণ ক্যাশে-ক্লিয়ারিং এবং ব্রাউজ আপনাকে এটি দেখার অনুমতি দেবে।

বা আপনি যদি ক্লাইটটিকে পছন্দ করেন তবে আপনি সর্বদা পুরানো বিশ্বাসযোগ্য ওপেনএসএসএল আদেশটি ব্যবহার করতে পারেন:

echo | openssl s_client -connect your.domain.com:443 | openssl x509 -noout -dates

এটি আপনাকে শংসাপত্রের বর্তমান তারিখগুলি দেবে। আপনার ক্ষেত্রে বন্দরটি 443 এর পরিবর্তে 80 হবে।

অনেক সময় nginx -s reloadআশানুরূপ কাজ হয় না। অনেকগুলি সিস্টেমে (ডেবিয়ান ইত্যাদি) আপনার ব্যবহারের প্রয়োজন হবে/etc/init.d/nginx reload

সমস্ত কিছু ব্যর্থ হলে, আপনি সর্বদা কনফিগারেশন ফাইলটি সরাসরি নির্দিষ্ট করতে পারেন nginx -c /path/to/nginx.conf


উফফফ, যারা শোনেন তারা 443 পোর্টের জন্য হওয়া উচিত ছিল, আমার খারাপ! যাইহোক, দুর্দান্ত উত্তরের জন্য ধন্যবাদ!
হারাভিক্ক

8
nginx reloadএবং এনগিনেক্স পুনরায় চালু করা দুটি পৃথক জিনিস: reloadএনগিনেক্স পুনরায় আরম্ভ করে না তবে কেবল এটিকে SIGHUP সংকেত প্রেরণ করে। সিগআপ সিগন্যাল কি যথেষ্ট?
পোর্টন

11
হ্যাঁ। একটি SIGHUP প্রেরণের ফলে nginx আপডেট হওয়া শংসাপত্রের দিকে চলে যাবে।
rspeed

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

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

21

SIGHUPএনগিনেক্স পাওয়ার পরে আপডেট হওয়া কনফিগারেশন পুনরায় লোড করবে, লগ ফাইলগুলি খোলার সময় এবং এসএসএল শংসাপত্রগুলি পড়ার সময় এটি যাচাই করুন , তারপরে পূর্ববর্তী কনফিগারেশনের উপর নির্ভরশীল কর্মী প্রক্রিয়াগুলি কৃপণভাবে বন্ধ করে দেবে।

যদি এটি ঘটে থাকে যে এনজিনেক্স কিছু এসএসএল শংসাপত্রগুলি পড়তে না পারে তবে আমি পুরানো কনফিগারেশন ব্যবহার করে চালিয়ে যাব। অন্যথায়, এটি আপনার কনফিগার ফাইলগুলিতে যা করেছে তা বিবেচনা না করেই এটি কাজ করা এবং অনুরোধগুলির প্রক্রিয়া চালিয়ে যাবে। এগুলি ভেঙে গেলেও আপনার ওয়েবসাইটগুলি এখনও খোলা থাকবে।

হ্যাঁ, আপনি nginx আপডেট হওয়া শংসাপত্রগুলি দেখতে চান যদি আপনাকে কিছু সেকেন্ডের জন্য আপনার সার্ভারটি অফলাইনে রাখার জন্য nginx পুনরায় আরম্ভ করার ঝুঁকি নেই। এটি পর্যাপ্ত হওয়া উচিত:

sudo service nginx reload

ডিফল্টরূপে ব্যবহৃত সিস্টেমড সহ বেশিরভাগ বন্টনগুলিতে আপনি নিম্নলিখিত কমান্ডের সাহায্যে এনজিনেক্সও পুনরায় লোড করতে পারেন:

sudo systemctl reload nginx

3
উপর উবুন্টু 16 , সেন্টওএস 7 , এবং অন্যান্য সিস্টেমের সমর্থনকারী systemdআপনার কাছে নির্বাহ করতে পারেন sudo systemctl reload nginx(যা sudo service nginx reloadউপরে উল্লিখিত ওরফে অন্য)।
ভিলি

@ উইল আপনি ঠিক বলেছেন, তবে এটি মনে করার জন্য আরও একটি কমান্ড; এবং সেখানে
কোথাও সিস্টেম নেই

আমি করতে ভালোবাসি service nginx restart। এটি কত দ্রুত শেষ হয় তা দেখে আমি কখনই ক্লান্ত হই না। যাইহোক, যদি এটি ক্রোন চাকরিতে হয় এবং আমি এর কোনওটিই দেখছি না, তবে কোনও ধরণের অবিচ্ছিন্ন অধিবেশন বা চলমান চলমান অপেক্ষমান ক্রিয়াকলাপ না ভাঙার জন্য আমি আবার কিছু লোড করব।
রল্ফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.