Execução de vários domínios de sites no Wildfly

2

Suponha que eu tenha muitos sites com nomes de domínio diferentes, domain1.com , domain2.com , etc. Eu configurei a configuração virtualhosts correta para esses sites no wildfly. As entradas de DNS corretas também estão no lugar. Como encaminhar solicitações para o meu servidor para esses domínios para o wildfly?

  1. Eu simplesmente executo o wildfly nas portas 80 e 443? Algo me diz que esta é uma má idéia, já que o wildfly não roda nessas portas por padrão. Para executar o wildfly nessas portas, é necessário vincular-se a essas portas como um usuário privilegiado e, em seguida, alternar para um usuário não privilegiado. O incômodo e a dificuldade de fazer isso sugerem que isso não está certo.

  2. Eu executo o wildfly por trás do nginx ou do apache2? Meu aplicativo gera sites e configuração virtualhost dinamicamente. Posso apenas encaminhar todos os pedidos para o wildfly e deixá-lo lidar com isso?

  3. ???

por deadghost 20.09.2016 / 17:04

1 resposta

1

A opção 1 é possível, mas, como você previu corretamente, não é uma abordagem preferencial. Para rodar na porta 80 ou 443, você precisa de um usuário privilegiado e está expondo diretamente o servidor java ao público, facilitando a entrada em problemas. Então abra o nginx, defina os domínios lá e configure upstream e proxy_pass para o proxy reverso em suas instâncias do wildfly. Você obtém loadbalancing de graça, você pode manipular ssl em nginx em vez de wildfly e toda a configuração é muito mais fácil de manter e escalar. Você pode configurar um cluster dedicado de wildfly para cada domínio e ter uma definição upstream separada, ou você pode começar com uma única instância com webcontextts separados, por exemplo,

upstream jboss {
    server 192.168.33.11:8080;
}
server {
    listen 443;
    server_name example.com;

    location / {
         proxy_pass http://jboss/webapp1;
    }
} 
server {
    listen 443;
    server_name otherdomain.com;
    #pass the request to another .war dewployed on jboss
    location / {
         proxy_pass http://jboss/webapp2;
    }
} 

Você pode encontrar mais informações no site nginx

    
por 06.06.2017 / 09:15