আইপি ঠিকানা / সাবনেটের উপর নির্ভর করে বিভিন্ন পৃষ্ঠাগুলি সার্ভার করতে এনগিনেক্স ব্যবহার করুন x


8

ঘৃণ্য হওয়ার জন্য ... আমি এনগিনেক্সকে ওয়েবসার্ভার হিসাবে ব্যবহার করছি এবং এটি অভ্যন্তরীণ ব্যবহারকারীদের জন্য একটি পৃষ্ঠা (10.0.0.0/16 তে বলুন) এবং অন্য কোনও আইপি ঠিকানায় বাইরের ব্যবহারকারীদের জন্য অন্য একটি পৃষ্ঠা পরিবেশন করতে চাই।

উদাহরণ স্বরূপ:

  • 10.0.0.34 এর একটি আইপি সহ "অভ্যন্তরীণ" পিসি company.com / পৃষ্ঠায় চলে যায় html পৃষ্ঠাটি অভ্যন্তরীণ html পায়

  • ৮.৮.৮.৮ এর আইপি সহ "বাহ্যিক" পিসি কোম্পানির পাতায় চলে যায় ml


2
স্পষ্ট করা; Nginx ব্যবহার করা বিরক্তিকর নয়, আমার যা করা দরকার তা হ'ল! এনগিনেক্স দুর্দান্ত!
জন রোয়াদেস

উত্তর:


13

এনগিনেক্স জিও মডিউলটি ব্যবহার করুন । এটি আপনাকে ক্লায়েন্টের আইপি ঠিকানার ভিত্তিতে ভেরিয়েবলের মান সেট করতে দেয়। geoনির্দেশ অবশ্যই httpবিভাগে থাকতে হবে :

http {
  geo $client {
    default extra;
    10.0.0.0/8 intra;
  }

আপনি ফাইলগুলি অনুসন্ধান করতে লোকেশনগুলিতে পরে এটি ব্যবহার করতে পারেন

location / {
  try_files $uri.$client $uri = 404;
}

যার মানে, nginx সেট হবে $clientউভয় extraবা intraক্লায়েন্টের IP এর উপর ভিত্তি করে। ধরা যাক এটি একটি ইন্ট্রানেট ক্লায়েন্ট। যদি কোনও ক্লায়েন্ট জিজ্ঞাসা করে page.html, Nginx ফাইলটি অনুসন্ধান করবে /your/root/page.html.intra। যদি এরকম কোনও ফাইল না থাকে তবে এটি অনুসন্ধান করবে /your/root/page.html। যদি এটিগুলির মধ্যে একটিও না খুঁজে পায় তবে এনগিনেক্স 404 "পাওয়া যায়নি" প্রতিক্রিয়া ফিরিয়ে দেয়। ডকুমেন্টেশনে "ট্রাই_ফায়ালস" এর উপর আরও

উপায় দ্বারা, indexনির্দেশাবলী পাশাপাশি চলক সমর্থন করে। যেমন

index index.$client.html index.html;

2
সুন্দরভাবে কাজ করেছেন - আমি অবস্থান = / ফাইলনাম এবং পুনর্লিখন ^ / ফাইল-ফাইলটি শেষ করেছি li স্বীকৃত শেষ;
জন রোয়াদেস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.