Servindo Rails através do Apache usando ProxyPass

1

Eu tenho um aplicativo de trilhos de trabalho que desejo ser exibido por meio de outro nome de domínio. Então modifiquei o VirtualHost adicionando-o como um ServerAlias:

<VirtualHost *:80>
        DocumentRoot /home/my/app/public
        ServerName long_server_name.com
        ServerAlias short_name.com
        RewriteEngine On

        ProxyRequests Off
        ProxyPass / http://localhost:3000/
        ProxyPassReverse / http://localhost:3000/
        ProxyPreserveHost on   

         <Proxy *>
          Order deny,allow
          Allow from all
        </Proxy>
</VirtualHost> 

Mas, por alguma razão estranha, quando eu vou ao short_name.com, ele me fornece a página de teste do Fedora.

Consigo encontrar documentos em / public se eu for diretamente para eles (por exemplo, short_name.com/somepage.html). Mas as solicitações não estão sendo tratadas pelo Rails. Indo para o caminho da raiz deve redirecionar para o login (por trilhos).

Alguma ideia? Como posso depurar o que está acontecendo?

(Uma possível advertência não relacionada: 'short_name.com' é um URL que está sendo alugado de outra pessoa, já que ele é o proprietário.)

    
por freshfunk 11.08.2011 / 20:53

1 resposta

1

Considerando que você quase certamente está trabalhando com o mesmo problema da última vez, e não parece ter trabalhado na maioria das questões envolvidas, vou reiterar minha conselhos prévios :

It does look like they're proxying. You can verify this by hitting the site and looking at the source IP -- if it's yours, then they're not proxying, they're doing something really weird, otherwise the source IP should be that of their proxy box. I would imagine that their proxying is probably doing all sorts of unpleasant things to the setup -- if the Host header being sent by their proxy server isn't what you're expecting, for instance, then that'll naturally cause problems. I always log the provided vhost name in my "default vhost" logs for this very reason -- it shows me what people might be hitting me from.

When it comes to the setup, I'd strongly recommend getting them to change the DNS to point to your server directly. That you're "leasing" the domain is irrelevant; DNS can still be managed properly. The only time proxying makes sense is if they're only redirecting part of the site to you, and serving other content on the same domain locally.

    
por 11.08.2011 / 20:56