বর্তমানে আমার কাছে একটি এলএলবি রয়েছে http://www.example.org এবং https://www.example.org উভয়ই ।
আমি এটি সেট আপ করতে চাই তাই http ://www.example.org- এ নির্দেশ করে যে কোনও অনুরোধ https://www.example.org এ পুনঃনির্দেশিত ।
ELB https অনুরোধগুলি HTTP অনুরোধ হিসাবে প্রেরণ করে, তাই ব্যবহার করে:
server {
listen 80;
server_name www.example.org;
rewrite ^ https://$server_name$request_uri? permanent;
}
কাজ করবে না কারণ https://www.example.org এ করা অনুরোধগুলি এখনও nginx তে 80 পোর্টে করা হবে।
আমি জানি এটি আবার লিখতে পারা সম্ভব
server {
listen 80;
server_name www.example.org;
if ($http_x_forwarded_proto != "https") {
rewrite ^(.*)$ https://$server_name$1 permanent;
}
}
তবে আমি যা কিছু পড়েছি তা বলেছিল যে if
এনজিএনএক্স কনফিগারেশনের মধ্যে সব ক্ষেত্রে এড়ানো উচিত এবং এটি প্রতিটি অনুরোধের জন্যই হবে। এছাড়াও, এর অর্থ হ'ল আমাকে স্বাস্থ্য চেকের জন্য একটি বিশেষ পৃথক কনফিগারেশন স্থাপন করতে হবে ( যেমন এখানে বর্ণিত হয়েছে : "... আপনি যখন কোনও এলএলবি এর পিছনে থাকেন, যেখানে ইএলবি এইচটিটিপিএস শেষ পয়েন্ট হিসাবে কাজ করে এবং কেবল আপনার সার্ভারে এইচটিটিপি ট্রাফিক প্রেরণ করে, আপনি ELB- এর যে স্বাস্থ্য পরীক্ষা করা দরকার তা পরীক্ষা করার জন্য একটি HTTP 200 ঠিক আছে প্রতিক্রিয়া দিয়ে সাড়া দেওয়ার ক্ষমতাটি ভেঙে দিন।
আমি এনজিএনএক্স কনফিগারেশনের পরিবর্তে ওয়েব অ্যাপ্লিকেশনটির কোডটিতে লগইনটি রাখার বিষয়টি বিবেচনা করছি (এবং এই প্রশ্নের প্রয়োজনে ধরে নেওয়া যাক এটি একটি জ্যাঙ্গো ভিত্তিক অ্যাপ্লিকেশন) তবে এর চেয়ে বেশি ওভারহেড হবে কিনা তা আমি নিশ্চিত নই I'm if
মধ্যে কনফিগারেশন।