我在云中运行一个小型虚拟专用服务器。 (武尔特) 这是一个为一小群人提供html内容的简单应用程序。 服务器正在运行 Node.js/Express(Morgan 记录所有 http 请求)。 我怀疑我们该网站的目标受众甚至每天有 10 个用户。 请注意,此站点上没有数据库存储。该站点在 docker 容器中运行。
当我检查网站日志时,我看到了非常奇怪的东西。
大量这些:
GET https://www.cyberpolice.ir 200 38.171 ms - 32910
GWhois.org 告诉我这是德黑兰的某个人。
GET https://www.tasnimnews.com/ 200 780.989 ms - 32910
GET https://www.akamai.com 200 657.255 ms - 32910
GET https://www.varzesh3.com/ 200 5.752 ms - 32910
GET https://www.incapsula.com 200 269.104 ms - 32910
一般来说,我会一次看到一堆几百个。 有很多这样的,大小总是 32910。
有人知道这里发生了什么吗? 为什么我会看到这些消息?有人使用我的服务器进行邪恶的事情吗?
有没有更好的设置让摩根完全识别这里发生的事情?
坦率地说,我不明白会生成此 GET 响应的 http 请求?这个请求是什么样的?
第一条规则是不要将 Node JS 服务器直接暴露给公共流量。您应该在 NodeJS 服务器前面使用反向代理服务器。反向代理应配置为仅接受特定域的请求。下面是一个示例 Nginx 配置文件来实现这一点。
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:5555;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}