web-dev-qa-db-ja.com

Ubuntu Apache Server 503エラー:(localhost)の接続が無効になっています

ここで少し束縛されています。 Webサイト(www.monkhouselaw.com)を1つのホスティング会社から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がリッスンしているかどうかを確認しようとしましたが、それはnotです。ただし、私が理解しているように、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>

正直なところ、monkhouselawの仮想ホストファイルが80ポートに転送されるため、ポート3000にアクセスしようとしている理由がわかりません。

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

この時点で私は途方に暮れています。グーグルすると、インストールされていないように見えるSELinuxに関する多くの結果が明らかになります。たとえば、次のように入力することをお勧めします。

togglesebool httpd_can_network_connect

プログラム 'togglesebool'が存在しないというメッセージを返すだけです。

本質的に、これは私が解決する必要のある深刻な問題であり、私は2桁のGoogle結果ページを調べて、運が悪ければ解決策を見つけようとしました。

誰かが支援を提供できますか?

3
CGriffin

Apache構成についての理解は、少し逆で逆さまです。設定しようとしている新しいソフトウェアのドキュメントを読むことをお勧めします。 :)

要するに、あなたのvirtualhost設定のこの部分:

<VirtualHost *:80>

... Apacheが仮想ホストへの接続を処理する方法とは何の関係もありません。むしろ、リクエストを受け取るlistenerを設定します。この場合、すべてのIPアドレス(*)、ポート80(80)。

Vhost宣言の内部では、Apacheがその仮想ホストへの接続を処理する方法を説明しています。提供されたsnippedの場合、ポート80でリッスンしており、リクエストをポート3000に送信するように構成されています。構成ブロック全体を含めなかったため、これが名前ベースの仮想ホストであるかどうかは不明です。

次に、2番目のスニペットには、monkhouselaw.comのみがServerNameとして含まれます。このサイトで使用できる唯一の名前であり、正常に機能することが期待できます。現在設定を行っているため、www.monkhouselaw.comはnotで機能します。これをServerAliasとして追加する必要があります。

3
EEAA