É possível configurar o Apache para ser um servidor web estático e um balanceador de carga na mesma porta?

É possível configurar o Apache para ser um servidor web estático e um balanceador de carga na mesma porta?

Estou usando o Apache 2.4.7 em um servidor Windows 2016 como um balanceador de carga entre alguns aplicativos Spring Boot REST usando <VirtualHost *:8000>a seção. Isso está funcionando bem.

Porém, também tenho uma aplicação Angular de página única e quero hospedar seus arquivos (HTML, CSS, JS, etc…) no mesmo servidor Apache. Preciso usar o mesmo número de porta 8000, pois a aplicação Angular está fazendo as chamadas REST, caso contrário receberei um erro de CORS.

Minha pergunta é: como é possível configurar o Apache para ser um servidor web estático e um balanceador de carga na mesma porta?

Responder1

Não tenho certeza sobre sua configuração e detalhes específicos, mas em geral o que você deseja fazer é configurar eProxy reverso Apache. Você não precisa configurar uma nova porta ou algo parecido. Como explicam os documentos oficiais do Apache:

Além de ser um servidor web "básico" e fornecer conteúdo estático e dinâmico aos usuários finais, o Apache httpd (assim como a maioria dos outros servidores web) também pode atuar como um servidor proxy reverso, também conhecido como "gateway " servidor.

Nesses cenários, o próprio httpd não gera ou hospeda os dados, mas sim o conteúdo é obtido por um ou vários servidores backend, que normalmente não possuem conexão direta com a rede externa. À medida que o httpd recebe uma solicitação de um cliente, a solicitação em si éprocuradopara um desses servidores back-end, que então lida com a solicitação, gera o conteúdo e, em seguida, envia esse conteúdo de volta ao httpd, que então gera a resposta HTTP real de volta ao cliente.

Portanto, no seu caso, o que você precisa saber sobre o Apache é que você pode configurar caminhos e diretórios para se comportarem de maneiras específicas no Apache. Portanto, um URL pode ser utilizado para configurações e comportamentos específicos ou até mesmo ignorado.

Para obter mais detalhes sobre como um proxy reverso Apache pode ser configurado,confira esta resposta que postei em Server Fault.

informação relacionada