У меня сервер Apache работает на сервере:
[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
....
Однако, когда я пытаюсь подключиться к локальному хосту, я получаю «Отказ в соединении»:
[root@te-srv2 ~]# wget http://127.0.0.1
--2014-02-24 10:46:16-- http://127.0.0.1/
Connecting to 127.0.0.1:80... failed: Connection refused.
То же самое происходит, когда я пытаюсь подключиться к локальному IP-адресу:
[root@te-srv2 ~]# wget http://132.70.6.157
--2014-02-24 10:46:40-- http://132.70.6.157/
Connecting to 132.70.6.157:80... failed: Connection refused.
С другой стороны, когда я пытаюсь сделать то же самое с другого компьютера в той же сети, я получаю другую ошибку «Нет маршрута к хосту»:
[erelsgl@erel-biu ~]$ wget http://132.70.6.157
--2014-02-24 10:49:11-- http://132.70.6.157/
Connecting to 132.70.6.157:80... failed: No route to host.
Почему я получаю эти ошибки? И что я должен сделать, чтобы иметь возможность подключиться к серверу http как с того же компьютера, так и с других компьютеров в сети?
ОБНОВЛЕНИЯ: Основываясь на комментариях и ответах, вот еще немного информации:
[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
networking
apache-http-server
routing
Эрель Сегал-Халеви
источник
источник
traceroute 132.70.6.157
с обоих серверов сравнить результаты?Ответы:
Покажите вывод
netstat -lnp
, чтобы мы могли видеть, какие процессы на самом деле прослушивают какие порты на сервере и с какими IP-адресами они связаны.Что касается второго компьютера, его сетевое подключение выглядит нарушенным.
netstat -rn
даст некоторое представление о проблеме там.Чтобы получить более качественную консультацию, необходимы дополнительные сведения об общей конфигурации сети и конфигурации IP на обоих компьютерах.
Редактировать:
Вы должны изменить конфигурацию Apache, чтобы это был HTTP-сервер, а не SSL-сервер. Файлы конфигурации находятся в / etc / apache2 большую часть времени.
Информация о конфигурации IP и конфигурации сети все еще необходима для анализа другой проблемы. Информация трассировки ничего не раскрыла.
источник
«Отказ в соединении» означает, что целевой компьютер активно отклонил соединение. С портом 80 в качестве контекста одна из следующих вещей, вероятно, является причиной:
Так что проверьте ваш конфиг Apache и iptables.
«Нет маршрута к хосту» относится к проблеме сети. Это не ответ от целевой машины.
источник
Я нашел этот пост, описывающий проблему, с которой я столкнулся при попытке настроить простую страницу http с помощью nodejs на вычислительном узле Public Cloud.
Эта команда сделала свое дело для меня:
Эта команда сбрасывает, т.е. очищает правила брандмауэра, которые установлены внутри системы Linux.
Предостережение: поскольку я использую распределенный брандмауэр, который является частью Public Cloud VCN, я на самом деле не использовал брандмауэр моей ОС. Если у вас нет внешнего брандмауэра, обязательно добавьте правило брандмауэра в iptables.
источник
Ссылаясь на ответ Рона Мопина из /networkengineering/33397/debugging-no-route-to-host-over-ethernet :
источник