Eu tenho um pi de framboesa trabalhando e sendo acessível através de um domínio, que é asada.net. Ele serve páginas da web usando o apache 2.2.22.
Além disso, comprei recentemente um NAS que também tem uma página da web em uma instância local do apache (incorporado).
O ip local do Raspberry pi é 192.168.0.4 e o ip local do NAS é 192.168.0.5.
Toda vez que eu acesso www.asada.net, a página de raiz do raspberry pi é mostrada.
Agora, o que eu quero fazer é redirecionar o site www.asada.net/nas para o ip do NAS, 192.168.0.5, para que esta página fique acessível de fora.
Eu não quero que o asada.net aponte para 192.168.0.5 nem faça qualquer alteração em seu servidor apache, apenas redirecione-o do raspberry pi.
Todas as configurações que eu tentei foram feitas no apache do raspberry pi. Eu habilitei o mod_proxy; tentei ProxyPass e ProxyPassReverse, eu também tentei diretiva Location ... Mas sem sorte.
Alguém poderia me ajudar?
Obrigado antecipadamente!
EDITAR :
Meu raspberry pi está executando o Raspbian e a versão do apache é 2.2.22. Estes são módulos carregados:
Loaded Modules:
core_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_default_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
headers_module (shared)
mime_module (shared)
negotiation_module (shared)
php5_module (shared)
proxy_module (shared)
proxy_ajp_module (shared)
proxy_balancer_module (shared)
proxy_connect_module (shared)
proxy_ftp_module (shared)
proxy_html_module (shared)
proxy_http_module (shared)
proxy_scgi_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
setenvif_module (shared)
status_module (shared)
Syntax OK
EDIT 2 :
Eu fui capaz de fazer alguns progressos. Este é o meu VirtualHost:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName asada.net
ServerAlias www.asada.net
DocumentRoot /var/www
# NAS
ProxyPreserveHost on
ProxyPass /nas http://192.168.0.5
ProxyPassReverse /nas http://192.168.0.5
</VirtualHost>
Agora, de alguma forma funciona ... páginas da Web são carregadas, mas os recursos não são. Deixe-me postar uma captura de tela:
Oquepossofazer?
EDIT3:Mate@Froggizmesugeriu aqui algumas maneiras de alcançar meu objetivo, então escolhi o que achei que se ajustaria melhor às minhas necessidades : Mapeamento de URL. Eu descartei subdomínios porque meu domínio é gratuito (noip.com).
Atualmente, meu VirtualHost se parece com o seguinte código:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName asada.net
ServerAlias www.asada.net
DocumentRoot /var/www
# NAS
ProxyPreserveHost on
ProxyPass /nas http://192.168.0.5
ProxyPassReverse /nas http://192.168.0.5
ProxyHTMLURLMap http://192.168.0.5 /nas
<Location /nas>
ProxyPassReverse /
SetOutputFilter proxy-html
ProxyHTMLURLMap http://192.168.0.5 /nas
ProxyHTMLURLMap / /nas
ProxyHTMLURLMap /nas /nas
RequestHeader unset Accept-Encoding
</Location>
</VirtualHost>
Tudo parece estar configurado corretamente. Quando eu digito asada.net/nas no meu navegador, a típica imagem quebrada é mostrada na página:
Enoconsolededepuração,éalgoestranho:todorecursoquedevesercarregadorecebeumerro'Falhaaocarregarrecurso:oservidorrespondeucomstatus404(NotFound)'.Oqueémaisestranhoéqueolinkdorecurso(colocadoàdireita)pareceestarfaltandoum'/'logoapós'...net/nas'eantes'web/...':
http://asada.net/nasweb/css/job_list_icon.css?v=WDV1.01
Olha, meu palpite é que deveria ser
http://asada.net/nas/web/css/job_list_icon.css?v=WDV1.01
em vez disso.
Alguma ideia? Obrigado novamente.