Dois servidores web rodando em uma máquina linux?

2

Problema: Eu tenho dois aplicativos da Web que foram criados usando JAVA e PYTHON, respectivamente.

O aplicativo JAVA é executado usando o servidor Tomcat no número de porta 8000. O aplicativo PYTHON usa o web.py e é executado no número de porta 8080. O Python (API) executa um trabalho de backend e o Java (UI) atua como um front -Foda-se cara.

Na minha máquina Ubuntu local, esses aplicativos estavam funcionando perfeitamente. No entanto, tenho que fazer com que esse aplicativo seja executado na minha máquina de controle de qualidade, na qual apenas as portas 80 e 443 estão abertas e todas as portas restantes são restritas. Eu tentei usar authbind para executar java na porta 80, mas falhou.

Existe alguma outra maneira de redirecionar as solicitações HTTP para seus respectivos serviços da Web e número de porta internamente usando a Filtragem de URL? Se houver algum outro método, compartilhe gentilmente as informações sobre ele.

Obrigado antecipadamente.

    
por VjyAnnd 01.08.2016 / 15:00

2 respostas

0

A solução padrão para isso é usar um servidor front-end que despacha as solicitações para o servidor "real" apropriado, geralmente com base no nome do host. Isso é chamado de proxy reverso . O Nginx é muito usado para isso. Comece com o tutorial .

Veja como a configuração ( /etc/nginx/nginx.conf ) de um proxy reverso com dois back-ends é semelhante:

server {
    server_name java-app.example.com;
    proxy_pass http://localhost:8000/;
}

server {
    server_name python-app.example.com;
    proxy_pass http://localhost:8080/;
}

É claro que existem muitas outras opções que podem ser úteis .

    
por 02.08.2016 / 02:42
0

Você pode instalar e configurar o nginx como proxy reverso para que sua solicitação para o TCP: 80 seja redirecionada para diferentes portas reais baseadas em seu FQDN na solicitação HTTP.

Dê uma olhada aqui para um exemplo da configuração do nginx.

    
por 08.08.2016 / 13:42