Closed (fixed)
Project:
Drupal core
Version:
6.8
Component:
base system
Priority:
Normal
Category:
Support request
Assigned:
Unassigned
Reporter:
Created:
14 Dec 2008 at 18:04 UTC
Updated:
3 May 2009 at 12:23 UTC
I recently upgraded one of my sites to the latest security update. Now cron doesn't work, my rss feeds don't work, and I get a status error :
HTTP request status Fails
Your system or network configuration does not allow Drupal to access web pages, resulting in reduced functionality. This could be due to your webserver configuration or PHP settings, and should be resolved in order to download information about available updates, fetch aggregator feeds, sign in via OpenID, or use other network-dependent services.I am using 1and1 as my host server. PHP version 5.2.6
Thanks for your help.
Comments
Comment #1
ainigma32 commentedSee here http://drupal.org/node/245990
Please post back whether or not one of the solutions works for you.
- Arie
Comment #2
agcilantro commentedArie,
After many tries I used the new htaccess and settings.php files included with the update instead of the previous versions, changed the rewrite base to include the file folder the drupal files are in on the server, and so far, so good.
Thanks for your help.
Comment #3
ainigma32 commentedYou're welcome.
- Arie
Comment #4
quakerc commentedI had the same problem on 6.8 and when I upgraded to 6.9.
If you are on a shared_hosting service then in all probability the server will have the following firewall rule
-A OUTPUT -s server_ip_addresss -d server_ip_address -p tcp -m tcp --dport 80 -j REJECT --reject-with icmp-port-unreachable
which effectively prevents users accessing other users' pages on the same server. I persuaded the sysadmin to temporarily disable that rule and the message disappeared.
So I looked at the code. The test which was failing in my case was in modules/system/system.module line 1868 (this is v6.9 code not v6.8 which is different).
$result = drupal_http_request(url('', array('absolute' => TRUE)));when I changed it to
$result = drupal_http_request(url('http://www.drupal.org', array('absolute' => TRUE)));the test no longer is looking at a url on the same server and the "Http request status fails" message is no longer displayed.
Hope this helps some of you.
In friendship, Quakerc.
Comment #5
Macronomicus commentedThanks a bunch quackerc! That worked perfectly!
Comment #6
David_Rothstein commentedI've reopened #245990: HTTP request testing unreliable and may be undesirable with a pointer to this post. It does seem like there might be firewall configurations which would cause the check to fail even though the server is able to make outbound HTTP requests to the rest of the world, and we should find a way to deal with those...
Thanks!
Comment #7
sudhaker commented-- fix 1 --
Guess modules/system/system.module line 1868 works as a temporary solution - to save bandwidth I'm changing the URL to http://updates.drupal.org/release-history/ ;-)
My setup is like following.
example.com -> a real public ip (IP)
myserver -> 192.168.2.1
NAT rule: IP:53 goes to 192.168.2.1:53
NAT rule: IP:80 goes to 192.168.2.1:80
NAT rule: IP:443 goes to 192.168.2.1:443
This requested connection won't happen if initiated from inside the server as NAT rules only applies to outside connection.
-- other possible fix --
Fix your /etc/hosts to read following
example.com 192.168.2.1
or
example.com 127.0.0.1
Hope this helps.
Cheers,
Sudhaker
Comment #9
Rhino commentedIt helped me, thank you!