node.js与nginx,如何删除直接ip:端口访问

ves*_*ght 2 port nginx node.js

我继承了一个node.js项目,我对平台/语言很新.

我继承的应用程序正在开发中,因此它正在进行中.在当前状态下,它运行端口7576,因此您可以通过以下方式访问它:server_ip:7576

我的任务是将这个"原型"放在现场服务器上,这样我的老板就可以把它展示给投资者等.但是我必须用密码来保护它.

所以我做的是让它在实时服务器上运行.然后我让它使用像这样的nginx vhost:

server {
        listen 80;

    auth_basic            "Restricted";
    auth_basic_user_file  /usr/ssl/htpasswd;

        access_log   /etc/nginx/logs/access/wip.mydomain.com.access.log;
        error_log  /etc/nginx/logs/error/wip.mydomain.com.error.log;
        server_name  wip.mydomain.com;

        location / { 
            proxy_pass http://127.0.0.1:7576;
            root         /var/app;
            expires 30d; 
            #uncomment this is you want to name an index file: 
            #index index.php index.html;
            access_log off; 
        }

        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|html|htm)$ {
            root         /var/app/public;
        }
}
Run Code Online (Sandbox Code Playgroud)

`

这完成了工作,我现在可以通过访问wip.mydomain.com来访问我的应用程序

我可以通过nginx轻松密码保护它.

我的问题是仍然可以通过ip:port访问应用程序,我不知道如何防止这种情况.

任何帮助表示赞赏.

谢谢

Pet*_*ons 7

在您的节点javascript代码中,您需要显式绑定到环回IP:

server.listen(7576, '127.0.0.1');
Run Code Online (Sandbox Code Playgroud)

(您正在寻找.listen(<port>)要修复的调用.app虽然可以调用该变量或其他内容).

任何以IP地址开头的IP地址127.都是一个环回地址,只能在一台机器上访问(实际上并不使用网络).