Meteor server exception when mistakenly used as a proxy #1212
Comments
I think this would only happen if a client is making a GET request with a absolute URL instead of a relative URL, which is usually how requests are made to proxies instead of to end servers. This means that someone is connecting to your server as a client, and suggests that they are attempting to use your server as a proxy. Perhaps some malware is scanning your network looking for open proxies. |
I agree. Moved to another less well know port and the problem has not reoccurred. I think it is safe to close this one. |
Actually I'd leave this issue open, and rename the issue title to "Meteor server exception when mistakenly used as a proxy" Ideally Meteor should detect this case and do something sensible (such as returning an error to the client), instead of throwing an exception. (A robust server is able to handle being used incorrectly). Reproduction is easy: configure your browser's proxy to point to a Meteor app (such as localhost:3000) and open any web page (www.google.com).
|
Reopening and re-titling based on new reproduction steps and a desire for a more robust server handling for such events. |
I agree, we shouldn't log a stack trace and should probably return something like a 4xx instead of a 500 to the user. |
Is anything happening on this front? I am experiencing this exact problem. |
i've got this too, and site stop running. |
I think our site has been falling over randomly due to this issue. Is there a fix for this yet? |
There are all these bots looking for open proxies doing this e.g
Is it possible these don't come up spamming the logs? |
Pull requests welcome here. |
We have this issue on Digital Ocean, site stopped running. Any solution? |
Same issue on Digital Ocean. Site is running, but I cannot deploy updates. http://stackoverflow.com/questions/27031100/bots-preventing-meteor-server-from-deploying-on-digital-ocean-with-meteor-up/27031891#27031891 |
@fortress-of-solitude what is the less well known port you selected to hide your app from these scans? And is this the only bridge fix until #2393 or another solution can be merged? I can second what others are experiencing, |
fyi, #2393 is in a queue of bugs I'm hoping to churn through soon. Not until after I get the next (tool performance focused) release out though! |
I'm questioning whether this is the actual cause of failed deployments. Run mup logs -f in one terminal while running mup deploy in the other terminal. At least for me, the errors caused by the bots did not occur during deployment; they occurred previously while the app was running successfully. More detailed discussion here: http://stackoverflow.com/questions/27031100/bots-preventing-meteor-server-from-deploying-on-digital-ocean-with-meteor-up/27031891#27031891 |
Have this one, too. Is this specific to Digitalocean?
@JeremySaks mup specific problems are something to be filed upstream. You can try demeteorizer - perhaps that works for you. |
@benjyz that error is saying that a bot associated with proxyjudge.us is trying to crawl your site. Has nothing to do with DigitalOcean, though it's possible the bots are targeting DigitalOcean servers specifically. |
I run multiple mup-deployed sites on digital ocean and i see those errors in my logs too, but there is no reason for those errors to be related to deployment-errors. I can deploy without any problems. Meteor is a Still, would like this error to be more silent. |
After looking more closely at the logs I agree that the errors are not related to deployment. However, in addition to crashing the running process, the errors apparently cause Manually removing the app from the browser manifest (e.g. |
Fixed. |
Our team faces a similar issue when using fast render: Error: url must be a relative URL: http://51.254.206.142/httptest.php https://github.com/kadirahq/fast-render/blob/c85e49f08eb0321a0f16ff1fcda8efe80f935e25/lib/server/utils.js As you can see, in fastrender's isAppUrl calls routepolicy.classify, but classify has its own if (url.charAt(0) !== '/') checking that throw the error, it is suitable to modify classify so it calls routepolicy.isValidUrl instead? Or you think there are some changes needed on fast render? Thanks. |
I updated the meteor version also but I am still getting this error. What am I supposed to do to resolve this error? |
I also still see errors like this |
Yup me too :( |
Here too. |
Got it here too. I'm wondering ... is this related to running the app in a docker container and mapping the port to the host? Is that seen as forwarding by meteor? |
Got it as well... I'm so afraid that this might affect SEO. By the way my configuration:
errors: |
Even with no clients running the server throws this exception at random times but consistently. Strangely the apparently offending URL is always the same as shown below.
Error: url must be a relative URL: http://www.baidu.com/
at _.extend.classify (app/packages/routepolicy/routepolicy.js:92:13)
at appUrl (/root/application/.meteor/local/build/server/server.js:160:41)
at Object.run as handle
at next (/root/.meteor/tools/cc18dfef9e/lib/node_modules/connect/lib/proto.js:190:15)
at Router._start (app/packages/router/lib/router_server.js:83:20)
The text was updated successfully, but these errors were encountered: