Bots preventing Meteor server from deploying on Di

2019-06-12 15:17发布

问题:

When I am using Meteor Up to deploy my app to a Digital Ocean Droplet, I am receiving the following error in the logs preventing the app from deploying. I have the exact same deployment on a different Droplet with no such issue. According to my research online, this is a known issue caused by bots trying to make a GET request on the server, apparently attempting to use the server as a proxy.

EDIT: To clarify, my app loads in the browser just fine due to a previous successful deploy. This issue occurs when I want to deploy updates to the existing app.

My questions are as follows:

  1. How did the bots start acting on this specific Droplet, and not my other Droplet? I'd like to prevent them from doing so in the future.
  2. Are they continuously issuing GET requests on the server? If not, I should be able to deploy when they are not attacking?
  3. Are the actions on the bot harming my app and its data? If I do eventually deploy successfully, they'll still be attacking my server, right?
  4. How do I fix the problem given it already exists on one of my Droplets? I have tried to edit my mup.json to use a different port, e.g. 108 instead of 80, but that doesn't help. No one else has solved the problem, according to my online research on GitHub, StackOverflow, etc.

    Error: url must be a relative URL: http://httpheader.net at _.extend.classify (packages/routepolicy/routepolicy.js:103) at appUrl (packages/fast-render/lib/server/inject.js:94) at Object.RouteController [as handle] (packages/fast-render/lib/server/inject.js:108) at next (/opt/musichunt/app/programs/server/npm/webapp/main/node_modules/connect/lib/proto.js:190:15) at Object.cookieParser [as handle] (/opt/musichunt/app/programs/server/npm/fast-render/main/node_modules/connect/lib/middleware/cookieParser.js:65:5) at next (/opt/musichunt[107.170.235.251] /app/programs/server/npm/webapp/main/node_modules/connect/lib/proto.js:190:15) at Object.Package [as handle] (packages/spiderable/spiderable.js:126) at next (/opt/musichunt/app/programs/server/npm/webapp/main/node_modules/connect/lib/proto.js:190:15) at middleware (packages/oauth/oauth_server.js:72) at packages/oauth/oauth_server.js:61

回答1:

This shouldn't stop your app from starting. While it is an error and known bug, it only shows up in the logs & does not crash or stop your Meteor app.

Its a bit of a nuisance, these bots scan entire IP blocks for open proxies. They don't cause any harm besides the error in your logs.



回答2:

As Akshat stated, these bots shouldn't be a problem. They dont hammer your server. Usually its ~50 of those proxy checks a day (What i have seen).

You could check what meteor-up is saying in debug-mode while deployment.
Instead of mup deploy do DEBUG=* mup deploy

Also you could try another ip, if that ip gets hammered too much. Shutdown your droplet, create a snapshot. Spin up a new droplet from the snapshot. Check if it has a new ip and just deploy to that new ip.

If you can deploy end everything works, destroy the old droplet to save money ;)