当收到请求时,如何编写一个简单的服务器来镜像网站?例如,访问运行NodeJS的
我不想要需要在浏览器设置中配置实际代理的东西,而是通过传递请求来提供另一个站点的镜像。
http://localhost:5000
将呈现cnn.com及其所有图像。这被称为透明代理吗?我不想要需要在浏览器设置中配置实际代理的东西,而是通过传递请求来提供另一个站点的镜像。
首先,让我确定我理解了你的问题。
你希望用户浏览http://mynodeproxy.example.com并且在他们的浏览器中呈现的页面与http://cnn.com相同。对吗?
答案是:你不能按照你想象的那样做。这有两种方法可以实现:
用户在浏览器设置中配置真正的代理服务器(这就是为什么所有浏览器都支持配置代理服务器的原因)。您可以使用现有的代理服务器或尝试使用node和一些专门的应用程序逻辑编写自己的代理服务器。但是重点是用户不会在浏览器地址栏中输入您的代理地址。他们将您的代理地址键入到其浏览器设置的“代理服务器”字段中,并仍然在浏览器地址栏中键入“http://cnn.com”。
如果您控制来自网络的所有出站流量,则可以执行类似酒店的技巧,例如DNS劫持或将所有流量路由通过您的代理。