我有一个网站,这是构建在同一节点项目中使用api调用。我希望这些api调用中的大多数只对本地主机网站可用。
是不是有一个选项,不使用誓言,只是听localhost?
你可以把localhost和port放在你写的地方
app.listen(PORT_NUMBER,'localhost',function(){
console.log('server started on '+PORT_NUMBER);
})
这将使你的整个节点服务器开始监听localhost:PORT_NUMBER,但如果你想让某些路由监听localhost,那么你可以在这些调用上放置中间件,并在中间件中编写代码来过滤掉所有不是从本地发出的调用。例如:-
app.get('/first',function(req,res){
})
// middleware to filter calls
app.use(function(req,res,next){
var ipOfSource = request.connection.remoteAddress;
if(ipOfSource == '127.0.0.1' || ipOfSource == 'localhost') next();
})
// all routes which need to be need to accessed from localhost goes here.
app.get('/will be accessible from localhost',function(req,res){
})