বিদ্যমান NGINX HTTP ফরওয়ার্ডিং রুটে এনকোড করা পথ সংরক্ষণ করুন
ফরওয়ার্ডিং চুক্তির মূল পথ ও কুয়েরি প্রয়োজন হলে request_uri ব্যবহার করুন, এবং গন্তব্যের বিদ্যমান বৈধতা যাচাই অপরিবর্তিত রাখুন।
$uri থেকে তৈরি একটি রুট ক্লায়েন্টের দেওয়া পথের চেয়ে ভিন্ন পথ পাঠাতে পারে। http://service.example/files/a%2Fb?view=raw-এর ক্ষেত্রে, এস্কেপ করা স্ল্যাশটি সেই মূল বানানের অংশ।
| ভেরিয়েবল | উপস্থাপনা |
|---|---|
| $uri | বর্তমান স্বাভাবিকীকৃত URI, যা অভ্যন্তরীণ প্রক্রিয়াকরণের সময় পরিবর্তিত হতে পারে |
| $request_uri | মূল অনুরোধ URI, এর কুয়েরি আর্গুমেন্টসহ |
এমন একটি বিদ্যমান HTTP ফরওয়ার্ড-প্রক্সি ব্যবস্থায় যা ইতিমধ্যে গন্তব্য কর্তৃত্ব নির্বাচন ও যাচাই করে, মূল পথ ও কুয়েরি এভাবে সংরক্ষণ করা যায়:
proxy_pass http://$http_host$request_uri;$http_host এই ব্যবস্থায় নির্বাচিত Host হেডার কর্তৃত্ব সরবরাহ করে। লিসেনারের ক্লায়েন্ট সীমাবদ্ধতা, গন্তব্য নীতি ও নাম-সমাধান কনফিগারেশন অপরিবর্তিত রাখুন।
$uri$is_args$args-কে এই অভিব্যক্তি দিয়ে প্রতিস্থাপন করলে প্রেরিত উপস্থাপনা পরিবর্তিত হয়; পূর্ববর্তীটি স্বাভাবিকীকৃত পথ ও বর্তমান আর্গুমেন্ট ব্যবহার করে। এন্ডপয়েন্ট চুক্তি অনুযায়ী নির্বাচন করুন, বিশেষত যখন এস্কেপ করা বিভাজক গুরুত্বপূর্ণ বা একটি স্বাক্ষর মূল লক্ষ্যকে আচ্ছাদন করে। ইচ্ছাকৃতভাবে পথ পুনর্লিখনের ভিন্ন প্রয়োজন আছে।
এটি দৃশ্যমান HTTP অনুরোধের ক্ষেত্রে প্রযোজ্য। একটি HTTPS CONNECT টানেল পরবর্তী অনুরোধ TLS-এর ভিতরে বহন করে এবং এর নিজস্ব সমর্থিত পরিচালনা প্রয়োজন।