এটি কীভাবে এনগিনেক্সের বিপরীত প্রক্সি 302 টি মূলের পরিবর্তে কোনও ইউআরআই সাব-ফোল্ডারে পুনর্নির্দেশ করা যায় সে সম্পর্কে আমার পূর্ববর্তী প্রশ্নের ফলো-অন ।
আমার একটি এনগিনেক্স প্রক্সি সার্ভার রয়েছে যা কোনও ইউআরএলটিতে অভ্যন্তরীণ ল্যান সার্ভারের মতো করে প্রক্সি বহিরাগত অনুরোধের জন্য rewrite
এবং proxy_pass
নির্দেশাবলী ব্যবহার করে । এএসসিআইআই ইউএমএলে অনুবাদটি উপস্থাপনের জন্য আমার প্রয়াস এখানে:https://domain.com/my/web/app/
https://10.0.0.22/
.-------------. .------------------.
| Nginx proxy | | Local web server |
| (domain.com) | | (10.0.0.22) |
'-------------' '------------------'
| |
| |
GET https://domain.com/my/web/app/ ----------->| |
|---------------->| GET /
| |
|<----------------| 302 redirect /login.php
302 redirect /my/web/app/login.php <-----------| |
| |
GET https://domain.com/my/web/app/login.php -->| |
|---------------->| GET /login.php
| |
|<----------------| 200
HTML body content (images, CSS, links) <-------|
আমার এনগিনেক্স কনফিগারেশন ফাইলে আসল অবস্থানটি এখানে রয়েছে:
location ^~ /my/web/app/
{
proxy_buffering off;
rewrite /my/web/app/(.*) /$1 break;
proxy_pass https://10.0.0.22/;
proxy_redirect default;
}
এটি HTTP অনুরোধ এবং প্রতিক্রিয়াগুলির জন্য অভ্যন্তরীণ এবং বাহ্যিক ইউআরআই পাথগুলির মধ্যে ইউআরআই অনুবাদ করার জন্য দুর্দান্ত কাজ করে তবে এইচটিএমএল সামগ্রীতে (বডি ইমেজ, সিএসএস, স্ক্রিপ্ট) কোনও ইউআরআই অনুবাদ করা হয় না।
উদাহরণস্বরূপ, /images/logo.png এর মতো ইউআরআই সহ এইচটিএমএল প্রতিক্রিয়াতে এম্বেড হওয়া আপেক্ষিক পাথ সহ চিত্রগুলি ওয়েব ক্লায়েন্টে ফিরে যায় এবং https://domain.com/images/logo.png
পরিবর্তে এর অর্থ ব্যাখ্যা করা হয় https://domain.com/my/web/app/images/logo.png
।
আমি বুঝতে পারি কেন এটি হচ্ছে, তবে এটি দুর্দান্ত হবে যদি অনুরোধের পাশাপাশি গতিশীল প্রক্সি সামগ্রীর কোনও উপায় থাকে। এইচটিএমএল বিষয়বস্তুতে এমবেড থাকা ইউআরআই রূপান্তর করার জন্য এনগিনেক্স পাওয়ার কোনও উপায় আছে কি? প্রক্সি সার্ভারটি অতিক্রম করার সাথে সাথে এইচটিএমএল সামগ্রীটি কীভাবে গতিময়ভাবে পার্স এবং আপডেট করা সম্ভব?