Proteger com senha e servir o site do Apache pelo número da porta?

3

Estou tentando configurar uma versão de desenvolvimento protegida por senha de um site de clientes (Plone CMS driven).

O site ao vivo é veiculado na porta 7373 e é mapeado para a porta www pública 80.

O site 'dev' é exibido na porta 8383 e é mapeado para a porta 8111.

Atualmente, não tenho acesso aos registros DNS dos clientes, por isso não posso configurar um subdomínio, mas o IP e os diferentes números de porta são bons.

No entanto, não posso descobrir como proteger o site de desenvolvimento com senha, enquanto ainda veiculo o site ao vivo. Estou especialmente desconcertado com as configurações de proteção que parecem ser apenas para pastas, não para sites?

Abaixo está o melhor convidado que eu tenho (baseado no meu apache-foo), mas isso só serve ao site ao vivo, não ao site de desenvolvimento, ou dispara a senha!

<VirtualHost *:80>
 ServerAlias www.site.com

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

  ProxyPreserveHost On
  ProxyPass / http://localhost:7373/VirtualHostBase/http/site.com:80/plonesite/VirtualHostRoot/
  ProxyPassReverse / http://localhost:7373/VirtualHostBase/http/site.com:80/plonesite/VirtualHostRoot/


</VirtualHost>

<VirtualHost 123.456.789.123:8111>

<Location /plonesitetest/>
  AuthType Basic
  AuthName "Dev Server"
  AuthUserFile "/home/admin/.htpasswd"
  Require valid-user
</Location>


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

  ProxyPreserveHost On
  ProxyPass / http://localhost:8383/VirtualHostBase/http/123.456.789.123:8111/plonesitetest/VirtualHostRoot/
  ProxyPassReverse / http://localhost:8383/VirtualHostBase/http/123.456.789.123:8111/plonesitetest/VirtualHostRoot/


</VirtualHost>
    
por Jon Hadley 21.06.2010 / 16:51

4 respostas

3

Suas linhas ProxyPass parecem um pouco confusas, com números de porta na metade do URL. É realmente assim que o servidor plone é configurado para lidar com o pedido recebido (números de porta nos nomes de arquivo / dir)?

O material do proxy é muito específico do pedido. A partir de uma verificação rápida dos documentos do apache, parece que as linhas ProxyPass estão provavelmente entrando em ação antes das linhas de localização, o que pode estar ignorando o material de autenticação. Que tal algo como isto:

<Location /plonesitetest/>
  AuthType Basic
  AuthName "Dev Server"
  AuthUserFile "/home/admin/.htpasswd"
  Require valid-user
  ProxyPass http://localhost:8383/VirtualHostBase/http/123.456.789.123:8111/plonesitetest/VirtualHostRoot/
  ProxyPassReverse http://localhost:8383/VirtualHostBase/http/123.456.789.123:8111/plonesitetest/VirtualHostRoot/
</Location>

Isso fará com que os pedidos de link sejam enviados para o site plone.

    
por 22.06.2010 / 02:56
4
Respost:
<VirtualHost *:8282>
    ServerName www.gpscoder.com
    ProxyPass / http://www.gpscoder.com:8080/
    ProxyPassReverse / www.gpscoder.com:8080/
    ProxyPreserveHost on
    <Proxy *>
        AuthType Basic
        AuthName "Dev Server"
        AuthUserFile "/var/www/xxxxxxx/.htpasswd"
        Require valid-user
    </Proxy>
</VirtualHost>
    
por 15.10.2012 / 08:48
0

Site ao vivo

<VirtualHost *:80>
    ServerName siteurl.com
    DocumentRoot "/path/to/live/site"
    ProxyPreserveHost On
    ProxyRequests Off
    Proxypass / http://siteurl.com:7373/
    ProxypassReverse / http://siteurl.com:7373/
</VirtualHost>

Então, para o seu site de desenvolvimento

<VirtualHost *:8111>
    ServerName siteurl.com
    DocumentRoot "/path/to/dev/site"
    ProxyPreserveHost On
    ProxyRequests Off
    Proxypass / http://siteurl.com:8383/
    ProxypassReverse / http://siteurl.com:8383/
    <Proxy *>
        AuthUserFile /home/admin/.htpasswd
        AuthType Basic
        AuthName "Dev Server"
        Require valid-user
    </Proxy>
</VirtualHost>
    
por 04.11.2014 / 16:07
-2

Isso ajudará.

1º resultado do Google: vhost password .

    
por 21.06.2010 / 20:29