Executando o aplicativo do nó no subdomínio do servidor Apache 2.4

1

Estou tentando executar um aplicativo Node js na porta 8000 e ter o proxy Apache 2.4.7 como subdomínio para essa porta no host local. Eu sou capaz de obter o aplicativo do nó servido como uma página ( link ) usando um único VirtualHost, usando um arquivo conf habilitado para sites como o um abaixo:

<VirtualHost *:80>
        ServerName example.com
        ServerAlias "www.example.com"
        DocumentRoot "/var/www/html"
        ProxyPass "/nodeapp" "http://localhost:8000/"
</VirtualHost> 

No entanto, o que eu realmente quero fazer é que o aplicativo do nó seja executado em um subdomínio, como o link , e é aí que eu ' estou tendo problemas. Eu tentei um monte de configurações diferentes com um único e vários VirtualHosts, mas isso é o meu atual:

<VirtualHost nodeapp.example.com:80>
        ServerName "nodeapp.example.com"
        # ProxyPreserveHost On
        ProxyPass "/" "http://localhost:8000/"
        # ProxyPassReverse "/" "http://localhost:8000/"
</VirtualHost>

<VirtualHost *:80>
        ServerName example.com
        ServerAlias "www.example.com"
        DocumentRoot "/var/www/html"
</VirtualHost>

Isso se baseia na pergunta feita aqui:
Usando um Apache VirtualHost para acessar uma instância do Nó JS no mesmo servidor

No entanto, quando eu vou para o subdomínio (que eu configurei no GoDaddy para apenas encaminhar para o mesmo endereço IP do servidor), acabei de receber um tempo limite, e se eu olhar no log de erros do apache eu vejo algumas linhas como:

[Tue Mar 29 04:53:56.909467 2016] [core:notice] [pid 15912] AH00094: Command line: '/usr/sbin/apache2'
[Tue Mar 29 04:56:33.332390 2016] [proxy:error] [pid 15917] (111)Connection refused: AH00957: HTTP: attempt to connect to 127.0.0.1:8000 (localhost) failed
[Tue Mar 29 04:56:33.332441 2016] [proxy:error] [pid 15917] AH00959: ap_proxy_connect_backend disabling worker for (localhost) for 60s

Eu realmente não tenho certeza de onde estou errado neste momento, mas qualquer ajuda seria muito apreciada!

    
por jwinterm 29.03.2016 / 18:00

1 resposta

1

Aqui está o que eu uso:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName sub.example.com

    DocumentRoot /var/www/html
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error-sub.example.com.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access-sub.example.com.log combined
    # sub:
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass / http://example.com:8000/
    ProxyPassReverse / http://example.com:8000/
</VirtualHost>
    
por 29.03.2016 / 18:14