Preâmbulo
Se você tiver um aplicativo de front-end de mapeamento da web que deseja ser o único "cliente" com permissão de acesso ao servidor de bloco, isso é possível por meio de um arquivo Apache2 .conf com order deny,allow
diretivas.
Você pode usar essas diretivas para especificar um endereço IP ou um nome de host a partir do qual uma conexão permitida deve se originar, se tiver acesso ao servidor / pasta de blocos.
Evite arquivos .htaccess, se puder. Eles devem ser considerados apenas quando você não tem acesso ao sistema de arquivos raiz. Neste caso, parece que você faz isso, então é melhor evitar o .htaccess. Este é geralmente o caso de um serviço hospedado, mas você está hospedando seu próprio servidor no Ubuntu?
Os arquivos .conf são armazenados no sistema de arquivos raiz, onde o usuário do servidor web (como wwwrun
) não pode acessá-los diretamente.
Parece que você pode proteger a pasta / var / www / tiles para permitir acesso somente na LAN.
Primeiros passos:
OK .... aqui está o que você faz!
Esse blog lhe disse para editar o arquivo principal httpd.conf dos servidores ...
Eu não gostaria, veja se você pode cortar e colar toda a porção <directory>
em um novo arquivo chamado /etc/apache2/conf.d/tiles.conf
Quaisquer arquivos .conf na pasta conf.d são carregados automaticamente quando o servidor é iniciado. Você deve ver uma linha para isso em um dos arquivos .conf padrão dos servidores (httpd.conf, default-server.conf ou apache2.conf) que diz Include /etc/apache2/conf.d/*.conf
.
O conteúdo do tiles.conf em sua forma mais simples pode ser semelhante:
<Directory /var/www/tiles>
Order deny,allow
deny from all
allow from localhost
</Directory>
Você pode substituir localhost
por um IP como 127.0.0.1
ou 192.168.1.1
( substitua esse IP por qualquer IP acessado pelo servidor da Web se estiver fora da LAN ).
Você também pode especificar vários nomes de host / IPs separados por um espaço (ou seja, allow from localhost 123.123.123 tiles.example.com
).
Substitua o caminho para a pasta tiles
, se necessário (onde as .mbtiles são salvas).
Reinicie / Recarregue o apache2 depois de fazer as alterações necessárias.
Solução de problemas:
Um bom local para ver de onde as chamadas para a pasta de mosaicos estão sendo feitas é verificar as entradas /var/log/apache2/access_log
. Se você não consegue se conectar (acesso negado), veja qual IP está sendo negado no error_log
instead =)
Você pode ver esses registros em tempo real com tail -f /var/log/apache2/access_log
. O IP estará lá quando tentar pegar os blocos da pasta de blocos.
Veja o Controle de Acesso do Apache 2.2 onde explica a abordagem acima. Este método é usado para restringir o acesso a um recurso no servidor web. Isso não é o mesmo que Autenticação que usa um nome de usuário / senha.
Por último , com o <Files> Directive
possível restringir o acesso a arquivos específicos em vez de diretórios.