在运行的 apache 服务器上无法访问 http://localhost:80
Posted
技术标签:
【中文标题】在运行的 apache 服务器上无法访问 http://localhost:80【英文标题】:Can't get access to http://localhost:80 on running apache server 【发布时间】:2015-04-20 06:26:44 【问题描述】:在 ubuntu 14.04 中运行 apache 服务器时,我在浏览器中获得 "This webpage is not available"
或使用 $ curl localhost
获得 "curl: (7) Failed to connect to localhost port 80: Connection refused"
。此外,我可以连接到 127. * 。 * . *(例如 127.0.0.2)- 仅适用于 127.0.0.1
/etc/hosts
127.0.0.1 localhost
127.0.1.1 al-ubuntu
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ports.conf
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
当我更改端口时,例如Listen 82
然后我可以连接到 localhost:82 或 127.0.0.1:82
没有任何进程使用80端口,除了apache2:
$sudo netstat -tulpn | grep 80
=> tcp6 0 0 :::80 :::* LISTEN 7127/apache2
/var/log/apache2/中有三个文件:
access.log, error.log and other_vhosts_access.log
重启apache2时:$ tail -f error.log
[Thu Feb 19 16:03:19.570066 2015] [mpm_prefork:notice] [pid 1285] AH00169:
caught SIGTERM, shutting down
[Thu Feb 19 16:03:20.673519 2015] [mpm_prefork:notice] [pid 3454] AH00163:
Apache/2.4.7 (Ubuntu) php/5.5.9-1ubuntu4.6 configured -- resuming normal
operations
[Thu Feb 19 16:03:20.674355 2015] [core:notice] [pid 3454] AH00094: Command line: '/usr/sbin/apache2'
在所有日志文件中连接到本地主机 - 什么都没有。
我在其他 ubuntu14.04 系统上安装了 apache,一切正常。
80端口阻塞是什么原因,你知道是什么问题吗?
【问题讨论】:
当您重新启动它以及尝试连接但它不起作用时,您能否跟踪 Apache 错误日志? tail -f /var/log/apache2/error.log 老鼠屎,我将此信息添加到问题中。 你的服务器有防火墙吗?你应该检查 selinux 和 os 防火墙(iptables)状态 【参考方案1】:这个问题与https://serverfault.com/questions/670575/failed-to-connect-to-127-0-0-1-port-80有关。
没有任何进程阻塞端口 80。与防火墙 NAT 规则相关的问题,将连接到 80 端口的连接重定向到另一个禁用的端口。它修复了删除这些规则。
【讨论】:
并非如此。在我的情况下,防火墙甚至没有启用 已编辑:对于那些使用“iptables”的人,请确保运行iptables -L
以查看是否有可用的规则。 iptables
、firewalld
、ufw
等服务在未运行时 - 它们的规则可能仍会强制执行。【参考方案2】:
我遇到了同样的问题。 在我的 apache 的 httpd.conf 文件中,我有
Listen 198.166.2.1:8000
然后我把它改成:
Listen 8000
它同时适用于 localhost 和 ip 地址。
【讨论】:
以上是关于在运行的 apache 服务器上无法访问 http://localhost:80的主要内容,如果未能解决你的问题,请参考以下文章
在 Apache 上运行 ASP.net MVC 时无法访问 elmah.axd
Http Live Streaming 无法在 Apache 上运行