ক্লাউডফ্লেয়ারের নমনীয় এসএসএল ব্যবহার করে লুপ পুনর্নির্দেশ করুন


11

আমি আমার সাইটে ক্লাউডফ্লেয়ারের সরবরাহিত নমনীয় এসএসএল বাস্তবায়নের চেষ্টা করছি।

এখানে আমার nginx কনফিগারেশন:

# PHP-FPM upstream; change it accordingly to your local config!
upstream php-fpm {
    server 127.0.0.1:9000;
}

server {
    listen         80;
    server_name    example.com www.example.com;
    return         301 https://$server_name$request_uri;
}

server {
    ## Listen ports
    listen 443;

    # use _ if you want to accept everything, or replace _ with domain
    server_name example.com www.example.com;

    location / {
      #proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_set_header X_FORWARDED_PROTO https;
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header  Host $http_host;
      proxy_set_header  X-Url-Scheme $scheme;
      proxy_redirect    off;
      proxy_max_temp_file_size 0;
    }

(...rest of config...)

যাইহোক, আমি যখন ওয়েবসাইটে (ওয়ার্ডপ্রেস) সংযোগ করার চেষ্টা করব তখন আমি একটি পুনর্নির্দেশ লুপ পাই (ক্রোম: ERR_TOO_MANY_REDIRECTS)। এটি রোধ করার জন্য আমি কীভাবে এনজিএনএক্স কনফিগার করব?

উত্তর:


31

ক্লাউডফ্লেয়ারের নমনীয় এসএসএল মানে ক্লাউডফ্লেয়ার এবং আপনার সার্ভারের মধ্যে সংযোগ সবসময় http এর উপরে থাকে:

সংযোগ সর্বদা http

এটি দেওয়া - প্রাসঙ্গিকতার প্রশ্নে একমাত্র সার্ভার ব্লকটি হ'ল:

server {
   listen         80;
   server_name    example.com www.example.com;
   return         301 https://$server_name$request_uri;
}

এটি সুস্পষ্ট হওয়া উচিত যে এর ফলে পুনঃনির্দেশের লুপ কেন আসে, https সংযোগগুলি তাদের নমনীয় এসএসএল সমাধান ব্যবহার করে জোর করার জন্য 2 টি সমাধান রয়েছে।

ক্লাউডফ্লেয়ারের পৃষ্ঠা নিয়মগুলি ব্যবহার করুন

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

ক্লাউডফ্লেয়ারের পৃষ্ঠা নিয়ম ব্যবহার করে

বিকল্পগুলির মধ্যে একটি হল জোর করে https:

সর্বদা এইচটিটিপিএস ব্যবহার করুন

পরীক্ষা $http_x_forwarded_proto

এমন অনেক সময় আছে যা আপনি পৃষ্ঠা বিধি ব্যবহার করা এড়াতে চাইতে পারেন (কেবল বিরল বা কেবলমাত্র ট্রানজিশনাল),

server {
   listen         80;
   server_name    example.com www.example.com;

   if ($http_x_forwarded_proto = "http") {
     return 301 https://$server_name$request_uri;
   }

   ... directives to generate a response
}

এবং আমার https সংযোগগুলিতে ত্রুটি থাকতে পারে যেমন এই ক্ষেত্রে HT- র মাধ্যমে সমস্ত কিছু সংক্রমণিত হয় না?
ডেক্ক

আপনি কীভাবে ক্লাউডফ্লেয়ার / এনগিনেক্স সেটআপ করেন তাতে কোনও প্রভাব নেই, এইচটিএমএল বিষয়বস্তু নির্ধারণ করবে যে সেখানে কোনও ত্রুটি আছে কিনা তা জানা গেছে।
AD7six

এই উত্তরের প্রথম লাইনটি ভুল: ব্রাউজার এবং ক্লাউডফ্লেয়ারের মধ্যে সংযোগটি টিএলএস এনক্রিপ্ট করা হয়েছে, ক্লাউডফ্লেয়ার থেকে মূল সার্ভারের সংযোগটি হ'ল http। পৃষ্ঠার নিয়মগুলি বা এনক্রিপশন প্রকারটিকে ভুলভাবে নির্দিষ্ট করে উচ্চ স্তরের সেটিং দ্বারা পুনঃনির্দেশ লুপগুলি হতে পারে - যেমন আপনার যখন সত্যিই নমনীয় প্রয়োজন তখন পূর্ণ।
টিম

এর সাথে সহায়তা করে এমন একটি প্লাগইনও রয়েছে
টিম

6

আপনার যদি বৈধ SSL শংসাপত্র থাকে তবে এটি সমস্যার সমাধান করতে পারে। [ক্রিপ্টো] বাক্স এবং Full (strict)চিত্র হিসাবে নির্বাচন করুন । এখানে চিত্র বর্ণনা লিখুন

সত্যিই এনগিনেক্সের জন্য ওয়েব সার্ভার কনফিগারেশন ফাইল আপডেট করার দরকার নেই।


সম্পূর্ণ (কঠোর) কেবলমাত্র তখনই কাজ করে যদি মূল ওয়েব সার্ভারের একটি বৈধ শংসাপত্র শৃঙ্খলা সহ একটি বৈধ SSL শংসাপত্র থাকে। স্ব স্বাক্ষরিত সহ কোনও এসএসএল শংসাপত্রের সাথে সম্পূর্ণ কাজ। এটি প্রশ্নের উত্তম উত্তর নয়।
টিম

হ্যাঁ, আমি এখন দেখছি, প্রশ্নটিতে নমনীয় শংসাপত্রের উল্লেখ রয়েছে। আমি আপনার প্রতিক্রিয়া ধন্যবাদ আমার উত্তর উন্নতি করতে হবে এবং আমি আরও নির্দিষ্ট হতে হবে। আমরা এখানে জ্ঞান বেস উন্নত করছি। যদি আমরা এসইও দৃষ্টিকোণ বিবেচনা করি তবে একটি বৈধ এসএসএল শংসাপত্রের গুগলের জন্য সর্বোত্তম মান থাকে। এটি পোস্ট করার পরে আমি কোনও আফসোস করছি না।
পেশাদাররা

নমনীয় / পূর্ণ / কঠোরভাবে এসইও-তে কোনও পার্থক্য নেই, সেটিংটি মূল সার্ভারের সাথে সংযোগের জন্য। ক্লাউডফ্লেয়ার এই পৃষ্ঠাটির জন্য যে কেউ অনুরোধ করে তার কাছে একটি ভাগ করা https শংসাপত্র উপস্থাপন করে, এটি কীভাবে মূলটির সাথে সংযোগ স্থাপন করে তা মূলত অপ্রাসঙ্গিক।
টিম

সার্ভার ধরে নেওয়া যাক নেই একটি বৈধ SSL Cert আছে (ওপি উল্লেখ না, এবং আমি এখানে একটি অনুরূপ কনফিগ Google এর মাধ্যমে এসেছিলেন), এই একটি মহান বিকল্প - নোট এটি পৃষ্ঠা রুলস এর মাধ্যমে একটি নির্দিষ্ট সাবডোমেন থেকে scoped করা যেতে পারে।
skoczen

এটি আমার পক্ষে একটি দুর্দান্ত উত্তম যা একটি বৈধ এসএসএল ছিল।
ফিলিপ

0

AD7six এর উত্তরটি খুব ভাল, যদিও এটির একটি সহজ সমাধান পাওয়া যায় যা পৃষ্ঠার নিয়মের প্রয়োজন হয় না। আমি পূর্বের উত্তরগুলি থেকে এটি নতুন সংযোজন কিনা তা নিশ্চিত নই, তবে লেখার সময় আপনি কেবল ক্লাউডফ্লেয়ারের সাথে 3 টি বিনামূল্যে পৃষ্ঠার নিয়ম পাবেন বলে এই প্রশ্নটিতে অবশ্যই এটি নথিভুক্ত করা উচিত।

আপনি যখন কোনও প্রদত্ত ডোমেনের জন্য নমনীয় এসএসএল চালু করেন, আপনি Cryptoট্যাবে স্ক্রল ডাউন করতে পারেন এবং Always use HTTPSবিকল্পটি সক্ষম করতে পারেন । এই বিকল্পটি নির্বিঘ্নে পুনর্নির্দেশ লুপ ইস্যুটি সমাধান করবে ( AD7six এর উত্তরে পুরোপুরি ব্যাখ্যা করা হয়েছে ) explained

ক্লাউডফ্লেয়ারের "সর্বদা ব্যবহার এইচটিটিপিএস" বিকল্প

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


ক্লাউডফ্লেয়ারের ইউআই যদি পরিবর্তিত হয় (বা নতুন বিকল্পগুলি উপলব্ধ করা হয়েছে) তবে প্রতিযোগিতামূলক উত্তর তৈরি না করে বিদ্যমান উত্তরটি সম্পাদনা করা ভাল।
AD7six

@ এডি 7 সিক্স আমি বিশ্বাস করি এটি পুরানো ইউআইয়ের একটি সংযোজন, কোনও প্রতিস্থাপন নয়, যার অর্থ পুরানো উত্তরটি এখনও বৈধ হওয়া উচিত। সুতরাং একটি পৃথক উত্তর মূল সম্পাদনার চেয়ে আরও যুক্তিযুক্ত হবে, তাই না?
চাদ

আমি মনে করি না "আপনাকে এই দীর্ঘপথে চলতে হবে, তবে এখন এটির জন্য একটি বোতাম আছে!" একটি নতুন উত্তর, না :)।
এডি 7 সিক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.