在我的服务器上运行端口扫描后:
22/tcp open ssh (protocol 2.0)
80/tcp open http nginx 1.4.6 (Ubuntu)
443/tcp open http nginx 1.4.6 (Ubuntu)
3000/tcp open ppp?
3001/tcp open http Node.js (Express middleware)
有没有办法可以掩盖我在端口 3001 上运行 Node.js,或者更好的是完全隐藏端口 3000 和 3001?
节点在 Nginx 后面运行 --- 所有流量都应该通过 80/443,所以如果端口 3000/3001 不可公开访问,那对我来说没问题!
我正在运行最新的 Ubuntu 64 位。
非常感谢您对此提供的帮助。
答案1
配置 Node.js 只提供localhost
以下服务127.0.0.1
:
app.listen(3001, 'localhost');
或者
app.listen(3001, '127.0.0.1');
然后使用 iptables 或 ufw 阻止对端口 3000 和 3001 的公共访问。
据我所知,您有一个从 Nginx 到 Node.js 端口的环回。如果是这样,请小心允许 localhost 绑定到 3001/0 端口,否则所有流量都将被阻止。
希望这可以帮助。