我通过上游有 nginx + nodejs,如下所示:
server {
listen 0.0.0.0:80;
upstream app_nodejs {
server 127.0.0.1:3000;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://app_nodejs;
proxy_redirect off;
}
}
当我通过浏览器指向 mysite.com 时,我通过 80 端口进入并路由到 3000。但我可以通过 3000 端口直接访问我的应用程序,如下面的 www.mysite.com:3000。在这种情况下,我不使用 proxy_pass。
如何防止不通过 proxy_pass 访问 3000 端口?
编辑:我正在使用 http 模块来启动应用程序,那么我该如何使用这种方法?:
http.createServer(express()).listen(3000, function(req, res) {
});