একই ডোমেনের এজেএক্স সমস্যাগুলি এড়াতে, আমি চাই আমার নোড.জেএস ওয়েব সার্ভারটি ইউআরএল থেকে সমস্ত অনুরোধ /api/BLABLA
অন্য সার্ভারে ফরোয়ার্ড করবে , উদাহরণস্বরূপ other_domain.com:3000/BLABLA
, এবং ব্যবহারকারীর কাছে এই দূরবর্তী সার্ভারটি স্বচ্ছভাবে ফিরে এসেছিল।
অন্যান্য সমস্ত ইউআরএল (পাশে /api/*
) সরাসরি পরিবেশন করা হবে, কোনও প্রক্সিং নয়।
আমি কীভাবে এটি নোড.জেএস + এক্সপ্রেস.জেএস দিয়ে অর্জন করব? আপনি একটি সহজ কোড উদাহরণ দিতে পারেন?
(ওয়েব সার্ভার এবং রিমোট 3000
সার্ভার উভয়ই আমার নিয়ন্ত্রণাধীন, এক্সপ্রেস.জেএস সহ নোড.জেস উভয়ই চলছে)
এখনও অবধি আমি এই https://github.com/http-party/node-http-proxy খুঁজে পেয়েছি , কিন্তু সেখানে ডকুমেন্টেশন পড়ার ফলে আমার কোনও বুদ্ধিমান হয়নি। আমি দিয়ে শেষ
var proxy = new httpProxy.RoutingProxy();
app.all("/api/*", function(req, res) {
console.log("old request url " + req.url)
req.url = '/' + req.url.split('/').slice(2).join('/'); // remove the '/api' part
console.log("new request url " + req.url)
proxy.proxyRequest(req, res, {
host: "other_domain.com",
port: 3000
});
});
তবে আসল ওয়েব সার্ভারে (বা শেষ ব্যবহারকারীকে) কিছুই ফিরিয়ে দেওয়া হয়নি, তাই ভাগ্য নেই।