Ubuntu Apache 服务器 503 错误:已禁用(localhost)的连接

Ubuntu Apache 服务器 503 错误:已禁用(localhost)的连接

这里有点麻烦。我正尝试将网站 (www.monkhouselaw.com) 从一家托管公司移至我的 Digital Ocean VPS。我已将 DNS 设置更改为:

* -> 107.170.29.18
www -> 107.170.29.18
monkhouselaw -> 107.170.29.18

然后它将指向我的 VPS 上的 Apache 虚拟主机。

目前我只是尝试在服务器上加载单个 PHP 索引页。一旦它正常工作,我就会安装 WordPress。遗憾的是,它不起作用。

目前访问 www.monkhouselaw.com 会返回 503 错误。我就是不知道为什么。检查 Apache 错误日志显示:

(111)Connection refused: AH00957: HTTP: attempt to connect to 127.0.0.1:3000 (localhost) failed
[Sun Jun 05 16:44:46.900331 2016] [proxy:error] [pid 2207] AH00959: ap_proxy_connect_backend disabling worker for (localhost) for 60s
[Sun Jun 05 16:44:46.900339 2016] [proxy_http:error] [pid 2207] [client 108.63.121.42:51559] AH01114: HTTP: failed to make connection to backend: localhost, referer: (long url)

后来是这样的:

[Sun Jun 05 16:45:21.841236 2016] [proxy:error] [pid 2198] AH00940: HTTP: disabled connection for (localhost)

我尝试检查本地主机上的 3000 端口是否正在监听,结果不是。但是,据我所知,有一个预先存在的虚拟主机应该将对 3000 端口的请求重定向到 80 端口。该文件是 000-default.conf。该文件的内容远不止以下内容,但以下是相关部分:

<VirtualHost *:80>
    ...

    LoadModule proxy_module {path-to-modules}/mod_proxy.so 
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/

    ...       
</VirtualHost>

但老实说,我不确定它为什么试图访问端口 3000,因为 Monkhouselaw 的虚拟主机文件被定向到 80 端口:

<VirtualHost *:80>
    DocumentRoot /var/www/monkhouse
    ServerName monkhouselaw.com
    <Directory "/var/www/monkhouse">
        allow from all
        Options None
        Require all granted
    </Directory>
</VirtualHost>

这时我不知所措。谷歌搜索显示大量有关 SELinux 的结果,但 SELinux 似乎未安装。例如,我看到建议输入以下内容:

togglesebool httpd_can_network_connect

它只是向我返回程序“togglesebool”不存在的消息。

本质上,这是一个我需要解决的严重问题,我已经浏览了两位数的 Google 结果页面试图寻找解决方案,但没有成功。

有人能够提供帮助吗?

答案1

您对 Apache 配置的理解有点落后和颠倒。我建议您阅读有关您尝试配置的任何新软件的文档。:)

简而言之,虚拟主机配置的这一部分:

<VirtualHost *:80>

...与 apache 如何处理与虚拟主机的连接无关。相反,它配置听众接收您的请求。在本例中,它监听所有 IP 地址 ( *) 和端口 80 ( 80)。

vhost 声明中的内容向 apache 描述了它应该如何处理与该虚拟主机的连接。就您提供的片段而言,它正在监听端口 80,并将请求定向到端口 3000,就像它配置的那样。您没有包含整个配置块,因此不清楚这是否是基于名称的虚拟主机。

接下来,您的第二个代码片段仅包含monkhouselaw.com作为ServerName。这是您在此网站上可以使用的唯一名称,并且希望一切正常。由于您目前已配置好一切,因此www.monkhouselaw.com将不是工作。您需要将其添加为ServerAlias

相关内容