রিয়েল-আইপি ব্যবহার করার সময় কীভাবে $ রিমোট_এডড্রির মূল মান লগ ইন করতে হয়


9

আমার পরিবেশে ব্যবহারকারীর অনুরোধগুলি বেশ কয়েকটি সিস্টেমের মধ্য দিয়ে যাচ্ছে:

[ক্লায়েন্ট] -> [ইএলবি] ---> [এনগিনেক্স] -> [ওয়েব]

(ELB = এডাব্লুএস ইলাস্টিক লোড ব্যালেন্সার)

এই উত্তরের জন্য ধন্যবাদ , আমার কাছে এনজিন্স সঠিক ক্লায়েন্টের আইপি ঠিকানাটি X-Forwarded-Forএবং X-Real_IPহেডারগুলির সাথে আপস্ট্রিম সার্ভারগুলিতে (ওয়েব) নির্ধারণ এবং পাস করে দিচ্ছি । সম্পর্কিত nginx কনফিগারেশন:

    real_ip_header      X-Forwarded-For;
    set_real_ip_from        10.0.0.0/8;
    real_ip_recursive   on;
    proxy_set_header X-Real-IP $remote_addr;

আমার সমস্যাটি হ'ল এনজিনেক্সে রিয়েল আইপি মডিউলটি তার গণনার ফলাফলের সাথে বিদ্যমান পরিবর্তনশীলকে প্রতিস্থাপন করে । এটি আমাকে উত্সাহী ক্লায়েন্ট আইপি দেয় তবে আমি সেই সিস্টেমের আইপি ঠিকানাটি হারাচ্ছি যা প্রক্সিটির অনুরোধটি প্রকৃতপক্ষে প্রেরণ করেছে (অর্থাত্ ইএলবি)।$remote_addrX-Forwarded-For

সামগ্রিকভাবে, ক্লায়েন্টের আইপি থাকা আমার কাছে আরও গুরুত্বপূর্ণ, তবে আমি অনুরোধগুলির সম্পূর্ণ চেইনে লগ করতে সক্ষম হতে চাই যাতে আমি বুঝতে পারি (এবং ডিবাগ) কীভাবে ট্র্যাফিক প্রবাহিত হচ্ছে। বর্তমানে, আমি কেবল ক্লায়েন্টের আইপি, তার নিজস্ব আইপি এবং আপস্ট্রিম সার্ভার আইপিতে এনগিনেক্স রাখতে পারি। আমি ELB আইপি লগ করতে সক্ষম হতে চাই।

আমি দেখছি এক্স-ইশনেশন 2013 সালে একই প্রশ্ন জিজ্ঞাসা করেছিল , খুব কম ভাগ্য নিয়ে। এরপরে কি কিছু পরিবর্তন হয়েছে বা উন্নত হয়েছে?

উত্তর:


8

আপনি ভেরিয়েবলের$realip_remote_addr সাথে সংযুক্ত ELB এর মূল ক্লায়েন্টের ঠিকানা পেতে পারেন তবে সচেতন হন যে এই ভেরিয়েবলটি কেবলমাত্র nginx 1.9.7 এ যুক্ত হয়েছিল, তাই আপনাকে এনজিনেক্সের অতি সাম্প্রতিক সংস্করণটি চালানো দরকার।


ধন্যবাদ @ মিশেল হ্যাম্পটন ♦! আমি আমার নিজের প্রশ্নের উত্তর দিতে ফিরে আসছিলাম কারণ একটি বিকল্প কৌশল অনুসরণ করার পরে অবশেষে আমি হোঁচট খেয়েছি $realip_remote_addr। এটি সুন্দরভাবে কাজ করে। আসলে কাজ proxy_protocol পেতে চেষ্টা এবং জন্য 1.9.7 nginx প্যাচ নোট উপর এসেছিলেন
michaelg
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.