Erro do Ubuntu Apache Server 503: conexão desativada para (localhost)

3

em um pouco de uma ligação aqui. Estou tentando mover um site (www.monkhouselaw.com) de uma empresa de hospedagem para o meu VPS Digital Ocean. Alterei as configurações de DNS para:

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

Isso direciona para um host virtual Apache no meu VPS.

Atualmente, estou apenas tentando carregar uma única página de índice do PHP no meu servidor. Depois que ele funcionar, eu trarei a instalação do WordPress. Infelizmente, não está funcionando.

Acessar www.monkhouselaw.com retorna um erro 503 atualmente. Eu simplesmente não consigo determinar o porquê. Examinando o log de erros do Apache me mostra:

(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)

Mais tarde, isso:

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

Eu tentei verificar se a porta 3000 no host local está escutando e não é . No entanto, há um host virtual preexistente que deve estar, conforme entendo, redirecionando solicitações para a porta 3000 para a porta 80. O arquivo é 000-default.conf. Há muito mais no arquivo do que o seguinte, mas aqui estão os bits relevantes:

<VirtualHost *:80>
    ...

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

    ...       
</VirtualHost>

Embora, honestamente, eu não tenha certeza de por que ele está tentando acessar a porta 3000, já que o arquivo host virtual do monkhouselaw é direcionado para a porta 80:

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

Neste ponto, estou perdido. Googling revela muitos resultados sobre o SELinux, que não parece estar instalado. Eu vi recomendações, por exemplo, para digitar o seguinte:

togglesebool httpd_can_network_connect

O que simplesmente me retorna a mensagem de que o programa 'togglesebool' não existe.

Essencialmente, este é um problema sério que preciso resolver e passei pelas páginas de resultados de dois dígitos do Google tentando encontrar soluções sem sorte.

Alguém é capaz de oferecer assistência?

    
por CGriffin 05.06.2016 / 23:02

1 resposta

3

Seu entendimento sobre a configuração do apache está um pouco invertido e de cabeça para baixo. Eu sugiro ler a documentação sobre qualquer novo software que você está tentando configurar. :)

Em suma, esta parte da sua configuração virtualhost:

<VirtualHost *:80>

... não tem nada a ver com o modo como o apache manipula as conexões com o host virtual. Em vez disso, ele configura o ouvinte que recebe sua solicitação. Neste caso, ele está escutando em todos os endereços IP ( * ), na porta 80 ( 80 ).

As coisas dentro da declaração vhost descrevem para o apache como ele deve manipular as conexões com esse virtualhost. No caso do recorte que você forneceu, ele está escutando na porta 80 e direcionando solicitações para a porta 3000, assim como está configurado para fazer. Você não incluiu todo esse bloco de configuração, portanto, não está claro se este é ou não um host virtual baseado em nome.

Em seguida, seu segundo snippet inclui apenas monkhouselaw.com como ServerName . Esse é o único nome que você pode usar com este site e esperar que as coisas funcionem. Como atualmente você tem coisas configuradas, o site www.monkhouselaw.com não funcionará. Você precisa adicionar isso como ServerAlias .

    
por 05.06.2016 / 23:26