কীভাবে এইচটিটিপি বডি কনটেন্টে এনগিনেক্স পুনর্লিখনের ইউআরআই করা যায়?


14

এটি কীভাবে এনগিনেক্সের বিপরীত প্রক্সি 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

আমি বুঝতে পারি কেন এটি হচ্ছে, তবে এটি দুর্দান্ত হবে যদি অনুরোধের পাশাপাশি গতিশীল প্রক্সি সামগ্রীর কোনও উপায় থাকে। এইচটিএমএল বিষয়বস্তুতে এমবেড থাকা ইউআরআই রূপান্তর করার জন্য এনগিনেক্স পাওয়ার কোনও উপায় আছে কি? প্রক্সি সার্ভারটি অতিক্রম করার সাথে সাথে এইচটিএমএল সামগ্রীটি কীভাবে গতিময়ভাবে পার্স এবং আপডেট করা সম্ভব?


2
আপনি কি সমাধান খুঁজে পেয়েছেন? যদি হ্যাঁ আপনি উত্তর হিসাবে এটি পোস্ট করতে পারে?
হিউজেনস

উত্তর:


5

আমি এখন পর্যন্ত এটির একমাত্র সমাধানটি হ'ল এইচটিপসউবসমডুল ( গিথুব পৃষ্ঠাটিও দেখুন )।

মডিউলটি অফিসিয়াল এনগিনেক্স উত্সগুলির অংশ নয়, সুতরাং আপনাকে সম্ভবত এই মডিউলটি ব্যবহার করার জন্য নিজেকে এনগিনেক্স তৈরি করতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.