এনগিনেক্স একই server
ব্লকের মধ্যে এইচটিটিপি এবং এইচটিটিপিএস উভয়কেই প্রক্রিয়া করতে দেয় । সুতরাং আপনাকে দুজনের জন্যই নির্দেশের সদৃশ করতে হবে না এবং আপনি যে পথটি সুরক্ষিত করতে চান তা পুনর্নির্দেশ করতে পারেন
server {
listen 80 default_server;
listen 443 ssl;
... ssl certificate and other configs ...
location /user {
if ($scheme = 'http') {
rewrite ^ https://$http_host$request_uri? permanent;
}
}
... your basic configuration ...
}
সেখানে লাইন স্থাপন না করার বিষয়ে নিশ্চিত ssl on
হন কারণ এটি সরল এইচটিটিপিটি ভেঙে দেবে।
Allyচ্ছিকভাবে, আপনি এইচটিটিপিএস থেকে অন্য সমস্ত অনুরোধগুলি একইভাবে HTTP এ পুনঃনির্দেশ করতে পারেন:
if ($scheme = 'https') {
rewrite ^ http://$http_host$request_uri? permanent;
}
আপডেট : অ্যালেক্সি টেন বিনীতভাবে মন্তব্য বিভাগে উল্লেখ করেছেন, scheme
প্রতিটি অনুরোধটি পরীক্ষা করা খুব উজ্জ্বল ধারণা নয়। আপনার এনজিএনএক্স কনফিগার করার ঘোষিত পদ্ধতি অনুসরণ করা উচিত। এই ক্ষেত্রে, পুনর্নির্দেশগুলি সহ দুটি সার্ভার ব্লক ঘোষণা করুন location
, সাধারণ যুক্তিকে একটি পৃথক ফাইলে সরান এবং include
এটি উভয়ই। সুতরাং গ্রুফটেকের উত্তর আরও ভাল।