I have an Apache server running on a server:
[root@te-srv2 ~]# ps -ecf|grep httpd
root 698 32047 TS 19 10:45 pts/24 00:00:00 grep httpd
root 32081 1 TS 19 10:16 ? 00:00:00 /usr/sbin/httpd
apache 32083 32081 TS 19 10:16 ? 00:00:00 /usr/sbin/httpd
apache 32084 32081 TS 19 10:16 ? 00:00:00 /usr/sbin/httpd
....However, when I try to connect to local host I get "Connection refused":
[root@te-srv2 ~]# wget
--2014-02-24 10:46:16--
Connecting to 127.0.0.1:80... failed: Connection refused.Same happens when I try to connect to the local IP address:
[root@te-srv2 ~]# wget
--2014-02-24 10:46:40--
Connecting to 132.70.6.157:80... failed: Connection refused.On the other hand, when I try the same from another computer in the same network, I get a different error "No route to host":
[erelsgl@erel-biu ~]$ wget
--2014-02-24 10:49:11--
Connecting to 132.70.6.157:80... failed: No route to host.Why am I getting these errors? And what should I do to be able to connect to the http server from both the same computer and other computers in the network?
UPDATES: Based on the comments and answers, here is some more information:
[root@te-srv2 ~]# traceroute 132.70.6.157
traceroute to 132.70.6.157 (132.70.6.157), 30 hops max, 60 byte packets 1 te-srv2 (132.70.6.157) 0.082 ms 0.007 ms 0.005 ms
[erelsgl@erel-biu ~]$ traceroute 132.70.6.157
traceroute to 132.70.6.157 (132.70.6.157), 30 hops max, 60 byte packets 1 te-srv2 (132.70.6.157) 0.446 ms !X 0.431 ms !X 0.420 ms !X
[root@te-srv2 ~]# netstat -lnp|grep http
tcp 0 0 :::443 :::* LISTEN 5756/httpd 2 4 Answers
Show the output of netstat -lnp, so we can see which processes are actually listening to which ports on the server, and what IP addresses they are bound to.
Regarding the second computer, its network connectivity looks broken. netstat -rn will give some insight on the problem there.
In order to give better advice, more details regarding general network configuration and IP configuration on both computers are needed.
Edit:
You have to change your Apache configuration so that it is a HTTP server, not SSL server. Configuration files are located under /etc/apache2 most of the time.
The IP configuration and network configuration information is still needed to analyze the other problem. The traceroute information didn't reveal anything.
3"Connection refused" means that the target machine actively rejected the connection. With port 80 as the context, one of the following things is likely the reason:
- Nothing is listening on 127.0.0.1:80 and 132.70.6.157:80
- Nothing is listening on *:80
- The firewall is blocking the connection with REJECT
So check your Apache and iptables config.
"No route to host" refers to a network problem. It is not a reply from the target machine.
2I found this post describing the issue I was facing when trying to setup a simple http page using nodejs on a Public Cloud compute node.
This command did the trick for me:
iptables -F
This command flushes i.e. clears the firewall rules that are setup inside the Linux system.
Word of caution: Since I use the distributed firewall that is part of the Public Cloud VCN, I didn't really use my OS's firewall. In case you do not have an external firewall, make sure to add a firewall rule in iptables.
0Citing Ron Maupin's answer from :
The ICMP message, "no route to host," means that ARP cannot find the layer-2 address for the destination host. Usually, this means that that the host with that IP address is not online or responding.