Ubuntu Apache Server 503 錯誤:禁用連接(本地主機)
在這裡有點束縛。我正在嘗試將網站 (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)
我試過檢查 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>
在這一點上,我不知所措。Google搜尋顯示了很多關於 SELinux 的結果,似乎沒有安裝。例如,我看到了一些建議,可以鍵入以下內容:
togglesebool httpd_can_network_connect
這只是向我返回了程序“togglesebool”不存在的消息。
從本質上講,這是一個我需要解決的嚴重問題,我已經通過兩位數的 Google 結果頁面試圖找到解決方案,但沒有運氣。
有人可以提供幫助嗎?
您對 apache 配置的理解有點倒退和顛倒。我建議閱讀有關您嘗試配置的任何新軟體的文件。:)
簡而言之,這部分虛擬主機配置:
<VirtualHost *:80>
…與 apache 如何處理與虛擬主機的連接無關。相反,它配置接收您的請求的偵聽器。
*
在這種情況下,它正在偵聽埠 80 ( )上的所有 IP 地址 (80
)。vhost 聲明中的內容向 apache 描述了它應該如何處理與該虛擬主機的連接。對於您提供的片段,它正在偵聽埠 80,並將請求定向到埠 3000,就像它配置的那樣。您沒有包含整個配置塊,因此不清楚這是否是基於名稱的虛擬主機。
接下來,您的第二個片段僅包含作為
ServerName
. 這是您可以在此站點上使用的唯一名稱,並希望一切正常。由於您目前已配置好東西,因此 www.monkhouselaw.com 將無法正常工作。您需要將其添加為ServerAlias
.