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

ainigma32’s picture

Priority: Critical » Normal
Status: Active » Postponed (maintainer needs more info)

See here http://drupal.org/node/245990

Please post back whether or not one of the solutions works for you.

- Arie

agcilantro’s picture

Arie,
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.

ainigma32’s picture

Status: Postponed (maintainer needs more info) » Fixed

You're welcome.

- Arie

quakerc’s picture

I 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.

Macronomicus’s picture

Thanks a bunch quackerc! That worked perfectly!

David_Rothstein’s picture

I'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!

sudhaker’s picture

-- 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

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Rhino’s picture

It helped me, thank you!