【发布时间】:2013-06-03 13:32:22
【问题描述】:
我正在尝试设置node-http-proxy。我的目标是在我的网站上放置一个代理。我可以通过在服务器上执行 GET 并更改 HTML 中的链接来手动执行此操作,但如果有的话,我想使用现有的解决方案。也许我不完全理解 node-http-proxy 是什么。这是我的测试代码:
require("http-proxy").createServer(function (req, res, proxy) {
proxy.proxyRequest(req, res, {
host: 'npr.org',
port: 80
});
}).listen(8000);
我去 localhost:8000 并返回 NPR。但返回的来源仍然包括直接指向 NPR 的链接,例如:
<script type="text/javascript" src="http://s.npr.org/templates/javascript/generated/fingerprint/homepageMetrics-62631a6b672420dab3673f851b6a5de98512e21d.js">
因此,如果我使用代理来访问被阻止的网站,它将无法正常工作。如果我使用代理来阻止终端服务器知道客户端下载了某些东西,它也不会起作用。基本上,唯一发生的 HTTP 代理是使用初始 GET(我认为)。
node-http-proxy 是否能够代理所有 HTTP 请求,还是我必须手动执行?
【问题讨论】:
-
您可以通过更改浏览器中的代理设置来让您的浏览器将所有请求代理到您的服务器。 superuser.com/a/31317告诉你如何为chrome做
-
我想我开始明白了。给我几天的时间来尝试把这一切联系起来。我在想,我可以有两种代理。第一个只是在运行 ASP.NET 的子域上将 ASProxy 作为快速/脏服务器托管。第二个是 node-http-proxy 的正确实现。听起来不错,对吧?
标签: node-http-proxy