Proxy reverso do Apache para Cloud9 usando o ServerName

1

Estou tentando configurar um proxy reverso para uma instância do Cloud9 em execução localmente no meu servidor usando o Apache. Eu tenho a seguinte configuração:

<VirtualHost *:80>
  ProxyPreserveHost On
  ProxyPass / http://localhost:3131/
  ProxyPassReverse / http://localhost:3131/
  ServerAdmin [email protected]
  ServerName cloud9.mydomain.org
</VirtualHost>

Eu também tentei reordenar as diretivas para que o ServerAdmin e o ServerName sejam os primeiros. Até agora, se eu clicar no link , recebo um erro no navegador dizendo que ele não pôde se conectar. Não há nada registrado no access.log ou no error.log do Apache. Estou pensando que estou sentindo falta de alguma peça, mas não tenho certeza do que essa peça que falta ainda pode estar. Eu também não sei se estou procurando no lugar certo para logs. O processo Cloud9 foi iniciado e parece estar em execução na porta 3131.

Eu não pretendo rodar Cloud9 em aberto. O fim do jogo que estou fazendo é obter o Cloud9 hospedado através de SSL usando alguma autenticação, talvez básica, mas eu percebi que antes de começar a adicionar SSL e auth na mistura, eu provavelmente deveria ter o básico trabalhando primeiro.

Atualizar Saída de apachectl -S :

# apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server www.mydomain.org (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost www.mydomain.org (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost wp.mydomain.org (/etc/apache2/sites-enabled/001-wordpress:1)
         port 80 namevhost blog.mydomain.org (/etc/apache2/sites-enabled/001-wordpress:22)
         port 80 namevhost cloud9.mydomain.org (/etc/apache2/sites-enabled/003-cloud9:1)
Syntax OK

Saída de curl -I cloud9.mydomain.org :

curl: (6) Couldn't resolve host 'cloud9.mydomain.org'

Saída de curl -I localhost:3131 :

HTTP/1.1 403 Forbidden
Content-Type: text/plain
Content-Length: 9
Set-Cookie: cloud9.sid.3131=bqk4zxV4ETq9rrO79E4mkJn9.YW7gMDRCsOO95utQJy1mYm8LfTfZC%2F7Fx59DeFRFDpU; path=/; expires=Thu, 19 Sep 2013 02:07:41 GMT; httpOnly
Date: Wed, 18 Sep 2013 22

Quando tento acessar o site externamente usando o Chrome, recebo:

Oops! Google Chrome could not find cloud9.mydomain.org

Did you mean: mydomain.org

Qual é a página padrão que o Chrome exibe quando não consegue se conectar. Novamente, não vejo nenhum erro no access.log ou no error.log, a menos que, por algum motivo, ele não esteja efetuando login no mesmo local. Eu estou entrando em /var/log/apache2 e fazendo um ls -lart para ter certeza de que estou vendo o arquivo de log mais recente.

    
por CodeChimp 18.09.2013 / 18:15

2 respostas

0

<VirtualHost *.80> - altere para <VirtualHost *:80> .

Isso pode ser tudo o que é necessário, mas se não, você pode fornecer a saída de apachectl -S ?

    
por 18.09.2013 / 18:32
0

Não é bonito, mas isso funciona para HTTP e SSL wo / alterações para Cloud9.

Módulo necessário do Apache: mod_proxy_wstunnel (disponível no Apache 2.4, e tutoriais para compilar para o Apache 2.2.x estão disponíveis, por exemplo link ).

ProxyPreserveHost On

RewriteEngine On
RewriteCond %{QUERY_STRING} transport=polling
RewriteRule ^(.*)smith.io(.*) /polling [P]

<Location />
   ProxyPass http://localhost:3131/
   ProxyPassReverse http://localhost:3131/
</Location>
<Location /smith.io>
   ProxyPass ws://localhost:3131/smith.io
   ProxyPassReverse ws://localhost:3131/smith.io
</Location>
<Location /polling>
   ProxyPass http://localhost:3131/smith.io/server
   ProxyPassReverse http://localhost:3131/smith.io/server
</Location>
    
por 01.10.2013 / 10:09