سؤال

شركتنا لديها مشروع يستخدم الآن nginx كوكيل عكسي لخدمة المحتوى الثابت ودعم اتصالات المذنب. نحن نستخدم اتصالات الاقتراع الطويلة للتخلص من طلبات التحديث المستمرة والسماح للمستخدمين بالحصول على تحديثات على الفور.

الآن، أعرف أن هناك الكثير من التعليمات البرمجية المكتوبة بالفعل ل node.js، ولكن هل هناك حل يتيح لعمل node.js كوكيل عكسي لخدمة المحتوى الثابت كما يفعل nginx؟ أو ربما يكون هناك إطار يسمح بسرعة بتطوير مثل هذه الطبقة باستخدام node.js؟

هل كانت مفيدة؟

المحلول

عقدة-http-proxy يبدو مثل ما تريد

var sys = require('sys'),
  http = require('http'),
  httpProxy = require('http-proxy').httpProxy;

http.createServer(function (req, res){
    var proxy = new httpProxy;
    proxy.init(req, res);
    proxy.proxyRequest('localhost', '9000', req, res);
}).listen(8000);

http.createServer(function (req, res){
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.write('request successfully proxied!' + '\n' + JSON.stringify(req.headers, true, 2));
    res.end();
}).listen(9000);</code></pre>

نصائح أخرى

كلب قد تكون قادرة على مساعدتك، إن لم يكن كحل كامل، ربما ككوان بناء واحدة.

ومع ذلك، قد ترغب في إعادة النظر في الحفاظ على Nginx لخدمة المحتوى الثابت - وهي مصممة وتحصيلها خصيصا لهذه المهمة الخاصة. ستضيف الكثير من النفقات العامة في استخدام Node.js لخدمة المحتوى الثابت - مثل استخدام PHP لخدمة الملفات الثابتة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top