"প্রদত্ত হোস্ট নামটি এই সার্ভারের জন্য বৈধ নয়" এর অর্থ কী?


64

আমি একটি ড্রুপাল 8 ওয়েবসাইট চালাচ্ছি এবং আমি যখন কোনও পৃষ্ঠায় ব্রাউজ করি তখন আমি এটিতে কেবল নীচের ত্রুটির বার্তা সহ একটি সরল সাদা পৃষ্ঠা পাই।

প্রদত্ত হোস্টের নামটি এই সার্ভারের জন্য বৈধ নয়।

এটার মানে কি? আমি কিভাবে এটা ঠিক করব?


2
স্থানীয় বিকাশের পরিবেশটি কনফিগার করে যদি আপনার এই সমস্যাটি থাকে তবে এখানে বর্ণিত সমাধানটি দেখুন।
প্যাট্রিক কেনি

উত্তর:


78

এই ত্রুটি বার্তাটি এমন কোনও বৈশিষ্ট্য থেকে আসছে যা এইচটিটিপি হোস্ট শিরোলেখ আক্রমণ থেকে রক্ষা পেতে ড্রুপাল 8 এ যুক্ত হয়েছিল । বৈশিষ্ট্যটি প্যাচটির জন্য তৈরি হওয়া রেকর্ড রেকর্ডেও বর্ণিত হয়েছে ।

মূলত, নেতিবাচক উদ্দেশ্যে HTTP হোস্ট শিরোনামকে ফাঁকি দেওয়া এবং দ্রুপালকে বিভিন্ন সাবসিস্টিমে (বিশেষত লিঙ্ক জেনারেশন) আলাদা ডোমেন নাম ব্যবহার করার জন্য ঠকানো সম্ভব হয়েছিল । অন্য কথায়, HTTP হোস্ট শিরোনামটি ব্যবহারকারী ইনপুট হিসাবে বিবেচনা করা উচিত, এবং বিশ্বাসযোগ্য নয় and

এটির বিরুদ্ধে লড়াই করার জন্য, একটি নতুন সেটিং, $settings['trusted_host_patterns']ড্রুপাল 8-এ যুক্ত করা হয়েছিল যাতে সাইটটি চালাতে পারে এমন "বিশ্বস্ত" হোস্টনামগুলির একটি তালিকা কনফিগার করতে পারে। সেটিংটি নিয়মিত অভিব্যক্তি বিন্যাসগুলির একটি অ্যারে হওয়া আবশ্যক, ছাড়পত্র ছাড়াই, আপনি যে হোস্টনামটি থেকে চালানোর অনুমতি দিতে চান তা উপস্থাপন করে।

উদাহরণস্বরূপ, আপনি যদি কোনও একক হোস্টনাম "www.example.com" থেকে আপনার সাইটটি চালাচ্ছেন তবে আপনার সেটিংসে এটি যুক্ত করা উচিত (সাধারণত এটি পাওয়া যায় ./sites/default/settings.php):

$settings['trusted_host_patterns'] = array(
  '^www\.example\.com$',
);

নোট করুন ^, \.এবং $। এগুলি পিসিআরই সিনট্যাক্স । এর অর্থ কেবলমাত্র আপনি "www.example.com" এর সাথে শুরু এবং শেষের দিকে অতিরিক্ত কিছু না দিয়ে অবিকল মিলে যেতে চান এবং বিন্দুগুলিকে বিন্দু হিসাবে বিবেচনা করা উচিত এবং ওয়াইল্ডকার্ডের অক্ষর নয়।

আপনি যদি "উদাহরণ.com" থেকে চালাচ্ছেন তবে কেবল ব্যবহার করুন:

$settings['trusted_host_patterns'] = array(
  '^example\.com$',
);

আপনার যদি একাধিক ডোমেন এবং / অথবা সাবডোমেনগুলির একটি সাইট চালানোর দরকার হয় এবং আপনি ক্যানোনিকাল ইউআরএল পুনঃনির্দেশ না করে থাকেন তবে আপনার সেটিংটি এর মতো দেখতে লাগবে:

$settings['trusted_host_patterns'] = array(
  '^example\.com$',
  '^.+\.example\.com$',
  '^example\.org',
  '^.+\.example\.org',
);

এটি সাইটকে উদাহরণ ডটকম এবং উদাহরণ.অর্গের সমস্ত বৈকল্পিকের সাথে সমস্ত সাবডোমেন অন্তর্ভুক্ত রাখার অনুমতি দেয়।

একবার আপনি $settings['trusted_host_patterns']যথাযথ মানটির সাথে সামঞ্জস্য করলে আপনার সাইটে আবার ব্রাউজ করতে সক্ষম হওয়া উচিত।

আপনি প্রশাসক / প্রতিবেদন / স্থিতিতে থাকা স্থিতি প্রতিবেদন পৃষ্ঠা থেকে আপনার বিশ্বস্ত হোস্ট সেটিংসের স্থিতিও পরীক্ষা করতে পারেন

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

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


5
আমি প্যাচটির অন্যতম লেখক, এবং প্যাচটির জন্য পরিবর্তন রেকর্ডের মূল খসড়াটিও লিখেছি (যা এখানে উপরের পাঠ্যটি প্রচুর পরিমাণে এসেছে)। এই প্রশ্নোত্তরটি হ'ল ত্রুটি বার্তাটি "উচ্চ গুগলেবিলিটি" দেওয়া যদি কেউ এর মুখোমুখি হয়। আপনি যদি এই সেটিংটিকে আরও ভাল করে ব্যাখ্যা করতে পারেন বলে মনে করেন তবে নিজের উত্তর যুক্ত করতে নির্দ্বিধায় অনুভব করুন। আমরা এই সিডব্লিউ তৈরিও শেষ করতে পারি।
mpdonadio

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

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

হ্যাঁ, প্রতিশ্রুতিবদ্ধ প্যাচটি থেকে অটো-কনফিগারেশন সরানো হয়েছিল। এটি বর্তমানে "অপ্ট-ইন, তবে এটি সেট না করা থাকলে আমরা আপনাকে সতর্ক করব"। এটি ইনস্টলারে সেট করার জন্য একটি অনুসরণআপ রয়েছে, drupal.org/node/2404259 । @Berdir, আমি একটি ইন্টারনেট পরিচয় সংকট একটি সময় আগে ছিল, এবং যখন আমি এখানে একটি mod ওঠে আমার ডাক নাম :) আমার Git ব্যবহারকারী নাম পরিবর্তন করে ভিন্ন, খুব ... চাইনি
mpdonadio

আমি যখন '^ থিসিং \ .দেব $' ব্যবহার করি, তখন আমার এই ত্রুটিটি রয়েছে: ত্রুটি বার্তা অপ্রত্যাশিত ভ্যালুএক্সেপশন: সিমফনি \ কম্পোনেন্ট \ এইচটিটিপিফাউন্ডেশন \ রিকোয়েস্ট-> getHost () কোর / বিক্রেতার / সিমফনি / পোস্টের 1221 লাইনটিতে অবিশ্বস্ত হোস্ট "লোকালহোস্ট" -foundation / Symfony / কম্পোনেন্ট / HttpFoundation / Request.php)।
এক্সেল ব্রাইচে

6

লোকালহোস্ট ইনস্টলেশনের জন্য আপনি আপনার সেটিংস.এফপি ফাইলে নিম্নলিখিত কোডটি ব্যবহার করতে পারেন

$settings['trusted_host_patterns'] = array(
   '^localhost$','^YOUR_IP_ADDRESS$'
 );

3

trusted_host_patternsআপনার সেটিংস ফাইলে পরিবর্তনশীল হওয়ার কারণে এটি ঘটে । আপনি যদি স্থানীয় পরিবেশে কাজ করছেন এবং আপনি এটিকে ওভাররাইড করতে চান তবে আপনার settings.local.phpফাইলে নিম্নলিখিত বিভাগটি সংজ্ঞায়িত করুন:

/*
 * Drupal Trusted Host Patterns
 */
$settings['trusted_host_patterns'] = [];

বা আরও জেনেরিক প্যাটার্ন :

$settings['trusted_host_patterns'] = [ '.*' ];

বা স্থানীয় পরিবেশের জন্য আরও নির্দিষ্ট :

$settings['trusted_host_patterns'] = array(
  '^172\.20.\0.\3$',
  '^localhost$',
);

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

দেখুন: বিশ্বস্ত হোস্টনাম কনফিগারেশনের জন্য নতুন সেটিংস


1
এই উত্তরের জন্য আপনার আরও বেশি উচিৎ হওয়া উচিত কারণ এটি সেটিংস.লোকাল.এফপি ফাইলের যথাযথ ব্যবহারকে সংজ্ঞায়িত করে। এই সেটিংসগুলি সম্ভবত সেটিংস.ফ্পে সংজ্ঞায়িত করা উচিত নয়, এটি আপনার স্থানীয় পরিবেশের জন্য একটি আলাদা সেটিংস ফাইল রাখার উদ্দেশ্যকে পরাস্ত করে যা 3 # টি অক্ষর দিয়ে চালু / বন্ধ করা যায়। স্থানীয় সেটআপের একটি লিঙ্ক বা কিছু তথ্য বেশি ভোট অর্জন করতে পারে।
শে

2

আপনার কাছে থাকলে এই সমস্যাটিও ঘটবে

<VirtualHost *:443>

যখন আপনার উচিত

<VirtualHost *:80>

একটি নন-এসএসএল সেটআপে সেট করুন (দেব / পরীক্ষার পরিবেশের জন্য পছন্দ করুন) এবং পোর্ট ৮০ এ সাইটটি অ্যাক্সেস করার চেষ্টা করুন


0

এটি সার্ভারের বিশ্বস্ত হোস্ট কনফিগারেশনের কারণে। আপনি ডোমেন নাম পরিবর্তন করলে বা এটি তৈরি করতে পারে 'trusted_host_patterns'। সমস্যা সমাধানের জন্য আপনার নতুন ডোমেনটিকে DRUPAL_ROOT/sites/SITE_FOLDER/settings.php(প্রাক্তন sites/defaults/settings.php:) যুক্ত করুন

উদাহরণ: ডোমেনের নাম = newdomain.com

$settings['trusted_host_patterns'] = array(
  '^newdomain.com\.loc$',
  '^www\.newdomain.com\.loc$',
);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.