nginx proxy - cluster aws emr [várias UIs]

1

Descrição: Ao iniciar um cluster EMR, cada aplicativo é configurado para expor sua interface do usuário.

Meta: Acesse as UIs por meio do Nginx usando URLs amigáveis sem número de porta

Detalhes:

  1. Each UI is on a different port
  2. Basic Authentication (htpass)
  3. Some UIs redirect you to the private-dns-record of the EMR master (can fix them manually, need Nginx to do it)
  4. UI Ports: 8088,8890,8888,18080,50070

O que foi feito?

A) Seguindo este artigo , podemos acessar o Zeppelin

B) Tentamos modificar essa configuração para permitir mais locais     A lógica por trás disso era que, ao fazer isso, poderíamos acessar o nginx com '/ somename' e ser redirecionado usando 'upstream' para a porta relevante no mestre do EMR, mas infelizmente isso não funciona.

location /hadoop {
  proxy_pass hxxp://hadoop
} 

C) Tentamos reescrever as regras, mas depois colocamos

rewrite ^/hadoop(.*)$ /$1 permenant;

Em /somename , na verdade, vai para:

location /

Pergunta: Como podemos usar URLs amigáveis simples como hxxp: // mynginx / hadoop para acessar as interfaces de usuário?

Example: http://nginx/app should redirect to http://upstream-server:8088

    
por Asaph 10.01.2017 / 08:46

1 resposta

0

Então, se eu entendi corretamente, você tem um bloco location como este:

location /hadoop {
    rewrite ^/hadoop(.*) /$1 permanent;
    proxy_pass http://hadoop;
}

A declaração rewrite acima envia uma resposta 301 movida permanentemente para o navegador, com as regras que você escreveu. Portanto, o usuário é redirecionado para o / URI quando você acessa /hadoop .

Provavelmente você quer isso:

location ~ ^/hadoop(.*)$ {
    proxy_pass http://hadoop$1;
}

Aqui, capturamos a parte depois de /hadoop em uma variável e usamos essa variável com o destino proxy_pass .

No entanto, você ainda precisa corrigir os URLs que o back-end do Hadoop está enviando de volta ao cliente em seu código HTML, caso contrário, ele não está retornando URLs com o prefixo /hadoop .

    
por 12.01.2017 / 13:04