I've been using Antispam with Akismet for months and it's been working perfectly. Beginning a day or so ago it stopped working properly. Now, any comment posted by anonymous visitor is not published, but not marked as spam either, even though the logs say it was marked as spam. Comments that clearly are spam are also no longer being marked as spam but also not published.
Any advice or ways to troubleshoot this?
Comments
Comment #1
pixture commentedHave you recently add/install new modules that may cause possible conflict with Antispam module?
or have you updated Drupal core, server software (apache, PHP), etc recently which may affect this weird problem?
Also, can you post the log message that says the comment was marked as spam?
Comment #2
MrGeek commentedHavnt added or changed anything in the Drupal install or the server - i DID apply some updates to modules a few days ago, but that does not coincide with when AntiSpam broke. I noticed too, that with AntiSpam enabled (using Akismet), it takes approx 30 seconds to post a comment. With it off, posting is instant.
Here is the log from a 'clean' post that says it's spam, is NOT marked as spam, and does not get published:
Comment #3
MrGeek commentedWhile doing more testing it looks like the server Firewall is not allowing connections to Akismet - when i disable the FW, everything works fine.
Would this be the default behavior when AntiSpam cant connect to the Akismet servers? Shouldnt a warning be posted in the logs about not being able to connect?
Comment #4
pixture commentedWhen the error occured while connecting the external antispam service, the following message is supposed to be logged instead of "Spam detected by AntiSpam in comment....":
"Antispam service seems to be down, comment queued for manual approval: (subject)..."
Maybe, the error checking of HTTP request from Drupal server to external antispam service has a bug and can not detect the error correctly. I will look into this.
Besides, AntiSpam module uses standard HTTP (port: 80) protocol to communicate with external antispam providers. So please be sure that the FW does not block this communication.
Comment #5
MrGeek commentedcan you confirm the FQDN/IP that the server would connect to? i'm seeing rest.akismet.com - is this correct?
Comment #6
pixture commentedYes, that's correct. Below are the external servers that AntiSpam module sends requests to:
Akismet
rest.akismet.com
TypePad Antispam
api.antispam.typepad.com
Defensio
api.defensio.com
Comment #7
MrGeek commentedok.. when all else fails, check the firewall logs.. I've whitelisted all the Akismet IP's in the firewall and now AntiSpam/Akismet are working properly again.
.. So i can confirm that when AntiSpam cannot connect, it is NOT logging an error anywhere.
Comment #8
augiem commentedI just started seeing this behavior 2 days ago with ZERO changes whatsoever to the system.
I'm using Akismet on AntiSpam as well and am having anonymous comments tossed into the moderation queue instead of being published after a 20+ second wait when trying to post a comment. I get no messages in the log saying it was unable to connect. (Took me forever to track down what was really going on with the site.)
I'm running on shared webhosting, so firewalls, etc are not configurable. Not sure what to do.
EDIT: Strange. I'm not sure if Akismet has been down for a day or what but switching to Defensio works. Still, the log didn't help me track this down...
Comment #9
Everett Zufelt commentedEnsure that watchdog error is generated when external API connection not available
Comment #10
Everett Zufelt commented