Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Gerenciador de Acesso com Apache24

Bom dia povo Dev,

Estou expondo minha API para uma empresa fazer autenticação no Active Directory (do Windows), a API recebe o POST com os dados, ela pergunta no Servidor AD e responde com Sim ou Não.

Entretanto, essa empresa só pode acessar a uma rota específica no servidor IP_SERVIDOR:PORTA/login.

Felizmente, essa empresa possui um pequeno servidor, que comunica com a aplicação externa deles, que possui um IP Fixo. A ideia é liberar o acesso somente a essa rota para esse IP

É possível fazer isso somente com o Apache ou é necessário outros meios, como proxy? Se sim, qual melhor maneira?

3 respostas

Oi Gustavo, tudo bem?

Dá para fazer só com o access control do apache: https://httpd.apache.org/docs/2.4/howto/access.html

Eu criei a configuração

<VirtualHost *:3001>
    ##ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "C:\Apache24\htdocs\intra2\server\public"
    ServerName intra:3001
    <Directory "C:\Apache24\htdocs\intra2\server\public">
        Order Deny,Allow
        Deny from all

        Allow from 127.0.0.1 ::1
        Allow from localhost
        Allow from 10.100.200.100
        Satisfy Any

        <RequireAll>
            Require all granted
        </RequireAll>
    </Directory>
    ##ErrorLog "logs/dummy-host2.example.com-error.log"
    ##CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

Está logando no errors.log

[Tue Apr 09 16:43:08.130793 2019] [access_compat:error] [pid 28212:tid 868] [client 10.1.1.130:39338] AH01797: client denied by server configuration: C:/Apache24/htdocs/intra2/server/public/link
[Tue Apr 09 16:43:09.757793 2019] [access_compat:error] [pid 28212:tid 868] [client 10.1.1.130:39338] AH01797: client denied by server configuration: C:/Apache24/htdocs/intra2/server/public/favicon.ico, referer: http://10.100.200.100:3001/link/

Mas ta permitindo o acesso. Minha configuração ta errada?

solução

finalizado sem resposta