Comunicação entre Apache e glassfish

2

No momento, estamos usando o servidor HTTPD (apache) para tratar da solicitação do cliente. As solicitações são ainda intermediadas por proxy para um servidor de aplicativos (glassfish) que fornece o conteúdo. O conteúdo é de arquivos estáticos (imagens de software). Abaixo está a diretiva ProxyPass usada.

ProxyPass /access/sw http://localhost:8080/access/sw

Gostaríamos que o Apache manipulasse o conteúdo estático, pois liberaria o glassfish para realizar outros trabalhos. O único problema com isso é que a solicitação ainda precisa ser direcionada para o glassfish para verificar a lógica de negócios. O servidor glassfish depois de executar a lógica de negócios deve enviar uma resposta ao Apache confirmando que o cliente tem permissão para fazer o download da imagem do software. Ele também pode enviar uma resposta negativa de volta ao Apache para rejeitar a solicitação do cliente.

Como isso pode ser alcançado? Existe algum módulo do Apache para lidar com isso? Só para reiterar, é o abaixo realizável?

Request from client -> Apache -> Glassfish (runs the business logic) -> responds back to Apache if client should be allowed to download -> Apache serves the static file depending on glassfish response

P.S - O cliente não pode manipular solicitações de redirecionamento. Cliente envia um único GET

    
por Vishal P 24.04.2015 / 12:51

1 resposta

2

Apenas pensando em voz alta. Eu posso pensar em dois cenários.

O primeiro é que você tem permissão para usar o PHP (ou python, ruby ...) no seu apache.

Basta fazer o usuário solicitar um script PHP ao fazer o download de um arquivo e, em seguida, o seu php fará uma solicitação ao glassfish (se esse usuário tiver permissão para baixar este software?), se estiver ok, atenda a partir do PHP um 403 (proibido).

O segundo estará executando o mesmo que acima, mas na forma de um módulo do apache.

    
por 24.04.2015 / 13:50