কীভাবে এইচডিপিএসকে এইডডাব্লিউএস অ্যাপ্লিকেশন লোড ব্যালেন্সারে HTTPS এ পুনঃনির্দেশ করবেন?


12

আমাদের ওয়েবসাইটের HIPAA সম্মতি প্রয়োজন তাই সমস্ত কিছু এনক্রিপ্ট করা দরকার। আমি ক্লায়েন্টকে " http : //mysite.com" এ দেওয়ার সময় একটি ত্রুটি বার্তা পেতে চাই না , সুতরাং আমার এইচটিটিপি এবং এইচটিটিপিএস উভয় সমর্থন করা দরকার, এবং এইচটিটিপিএসকে এইচটিটিপিএসে পুনঃনির্দেশ করা উচিত। আমি কি সঠিক?

আমি এটি ওয়েব সার্ভারগুলিতে সঠিকভাবে করেছি। সুতরাং আমি যদি সরাসরি ওয়েব সার্ভারের সাথে সংযোগ করি তবে HTTP স্বয়ংক্রিয়ভাবে HTTPS এ পুনঃনির্দেশিত হয়। সব ভালো.

তবে ওয়েব সার্ভারগুলি একটি এডাব্লুএস অ্যাপ্লিকেশন লোড ব্যালান্সারের পিছনে বসে আছে। আমি জানি না কীভাবে HTL কে ELB তে HTTPS এ পুনর্নির্দেশ করতে হয়। সুতরাং ক্লায়েন্ট ব্রাউজারগুলি এখনও HTTP এর মাধ্যমে ELB এর সাথে সংযোগ করতে পারে।

একটি এডাব্লুএস অ্যাপ্লিকেশন লোড ব্যালেন্সারে কীভাবে HTTP => HTTPS সেট আপ করবেন?

অন্য কথায়, আমি নিশ্চিত যে ইএলবি এবং ওয়েব সার্ভারগুলির মধ্যে সংযোগটি এইচটিটিপিএস, তবে কীভাবে ক্লায়েন্ট ব্রাউজার এবং ইএলবির মধ্যে সংযোগ এইচটিটিপিএস হয় তা নিশ্চিত করব?


আপনি এটি এলবিতে করবেন না আপনি এটি X-Forwarded-Protoএলডি প্রেরণের শিরোনামের ভিত্তিতে করে থাকেন ।
সেজেজোজ

আমি কোনও সার্ভার ব্যক্তি নই - আমি একজন সি # প্রোগ্রামার, সুতরাং দয়া করে বোবা হওয়ার জন্য আমাকে ক্ষমা করুন - আমি উইন্ডোজ সার্ভারে পুনর্নির্দেশটি সেটআপ করতে ইউআরএল পুনর্লিখনের মডিউল ব্যবহার করেছি। আমি সরাসরি সার্ভারের সাথে সংযোগ স্থাপন করলে এটি কাজ করে। তবে আমি যদি ELB এর সাথে সংযোগ স্থাপন করি তবে আমি এখনও HTTP- র সাথে সংযোগ রাখতে পারি। কেন?
বোকা ডুড

এতে কি একটি এসএসএল শংসাপত্রের সাথে এএলবি 443 এ শুনছে? আপনার প্রশ্নে নিশ্চিত হতে, আপনিও ALB এবং সার্ভারগুলির মধ্যে এসএসএল চান?
strongjz

উত্তর:


-4

আপনি আপনার .htaccess ফাইলে নীচে তালিকাভুক্ত কনফিগারেশন যুক্ত করতে পারেন। তবে তার আগে নিশ্চিত হয়ে নিন যে সার্ভারে মোড_উইরাইট সক্ষম করা আছে এবং .htaccess ফাইলটি অস্বীকার করা হয়নি।

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

বিস্তারিত ব্যাখ্যার জন্য দয়া করে দফার শেষের দিক থেকে সরকারী ডকুমেন্টেশনটি দেখুন। https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/



2
ওপি জিজ্ঞাসা করবে কীভাবে ELB কনফিগার করবেন যাতে আপনি ব্যাখ্যা করেন কিভাবে অ্যাপাচি কনফিগার করবেন? তারা স্পষ্টতই বলেছে যে তারা পুনর্নির্দেশ করতে ইতিমধ্যে অ্যাপাচি কনফিগার করেছে। আপনার উত্তর মুছুন।
সেরিন

11

জুলাই 2018 পর্যন্ত , এটি অ্যাপ্লিকেশন লোড ব্যালান্সারগুলিতে সমর্থিত।

  • আপনার HTTP:80শ্রোতা যুক্ত / সম্পাদনা করুন
  • কর্মটি সেট করুন Redirect
  • প্রোটোকল: https
  • পোর্ট: 443
  • পরবর্তী ড্রপডাউন সেট করুন Original host, path, query
  • সর্বশেষ ড্রপডাউন সেট করুন 301 - Permanently moved

এডাব্লুএস অ্যাপ্লিকেশন লোড ব্যালেন্সারে HTTP থেকে HTTPS শ্রোতার জন্য সেটিংসের চিত্র


1

সাধারণত যা হয় তা হ'ল ইএলবি https (পোর্ট 443) গ্রহণ করতে এবং HTTP (পোর্ট 80) এ ইসি 2 ইনসেন্টের (লোড ব্যালান্সার টার্গেট) ফরোয়ার্ড করতে প্রস্তুত।

ব্যাকএন্ড ওয়েব সার্ভার লোড ব্যালেন্সারে 443 পোর্ট করার জন্য এই অনুরোধগুলি পুনঃনির্দেশ করে, পুনর্নির্দেশের একটি অসীম লুপ তৈরি করে (লোড ব্যালেন্সার এবং ব্যাকএন্ড ওয়েব সার্ভারের মধ্যে)।

একটি সাধারণ ত্রুটি বার্তা হ'ল ERR_TOO_MANY_REDIRECTS

সমাধানটি এক্স-ফরওয়ার্ড-প্রোটোটি দেখতে হবে, যা পুনর্নির্দেশের সিদ্ধান্ত নেওয়ার সময় লোড ব্যালান্সারের দ্বারা দেখা প্রোটোকল।

এনগিনেক্সের জন্য কনফিগারেশনটি দেখতে পাবেন:

server {
    listen   80;
    server_name    www.example.org;   
    if ($http_x_forwarded_proto = 'http') {
         return 301 https://$server_name$request_uri;   
    }
}

এবং অ্যাপাচি .htacacks এর মতো কিছু:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

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

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