我有一个非常基本的基于node.js的http服务器,我想用它作为代理。我在系统范围的代理设置中为所有http请求设置主机名和端口,以确保所有http请求都发送到此服务器。
问题是 - 当我在本地运行服务器时,使用foreman start
并将localhost设置为hostname而将5000设置为端口,此服务器将捕获我的所有http请求。但是当我部署到Heroku,并使用该主机名和他们的端口时,我的页面无法加载。
以下是http服务器的代码
var my_http = require("http");
var url = require('url');
var port = Number(process.env.PORT || 8080);
my_http.createServer(function(request, response) {
var url_parts = url.parse(request.url, true);
response.writeHeader(200, {
"Content-Type": "text/plain"
});
response.write(request.method + ": " + port + ': ' + url_parts.href);
response.end();
}).listen(port);
console.log("Server Running on " + port);
注意 Foreman在本地端口5000上运行应用程序,并在heroku上的端口23536上运行。
我对问题的理解 我们在公司有一个网站流量过滤器,不允许我们直接访问大多数网站。每次访问链接时都需要单击链接(说继续)。我的理解是,因为我试图访问那些被阻止的网站,它们被阻止或者某些东西(虽然请求被代理)?