nginx + proxy reverso para o apache - como ocultar completamente o apache?

1

Estou usando o nginx agora para nossos sites de produção com o proxy reverso para o apache que está no mesmo servidor e funciona de forma fantástica.

Estou pensando se posso fazer isso:

Instale o nginx na caixa 1 em inglês, digamos, Canadá e solicite solicitações de http reverso para a caixa 2 em um datacenter nos EUA. Eu sei que pode haver alguma latência ou atrasos no carregamento da página, etc, mas que provavelmente não seria perceptível para o usuário final, especialmente se ambos os servidores tiverem portas de 100MB. A caixa nº 2 só faz as requisições do apache, todas as imagens são servidas da caixa nº 1 via nginx.

Agora, o visitante final seria capaz de dizer de qualquer maneira que há duas caixas sendo usadas? A caixa nº 2 contém dados sigilosos que não podemos ter roubado em caso de invasões, etc., portanto, esse método ajuda a manter as coisas um pouco mais seguras.

Alguém sabe se isso é possível ou fez algo semelhante?

    
por Eduardo Ivanec 18.10.2010 / 15:37

3 respostas

1

Se a conexão com a caixa # 2 falhar, o nginx exibirá uma página de erro ("502 Bad Gateway" com assinatura nginx). Você pode substituir esta página pela sua própria, servida na caixa 1.

    
por 24.10.2010 / 22:19
1

não, os usuários pensarão que o servidor está apenas no Canadá, já que a caixa nº 2 é um back-end.

.. confira também haproxy!

    
por 03.05.2011 / 13:56
0

Acho que você deve definir proxy_intercept_errors no servidor nº 1 para garantir que nenhuma página de erro gerada no nº 1 chegue ao usuário. Eles podem conter informações sobre o backend por trás do proxy.

syntax: proxy_intercept_errors [ on|off ];
default: proxy_intercept_errors off;
context: http, server, location 
This directive decides if nginx will intercept responses with HTTP status codes of 400 and higher.
By default all responses will be sent as-is from the proxied server.

Leia no link .

Verifique também a configuração do seu apache em # 2 e verifique se você está fornecendo a menor informação possível sobre esse host em páginas de erro. Por exemplo:

ServerTokens ProductOnly
ServerSignature Off

Isso evita que o apache forneça o número da versão, etc., no rodapé das páginas de erro (no caso de alguém passar por qualquer motivo). Ainda assim diria 'Apache', no entanto. Se você quiser se livrar disso eu acho que você tem que editar httpd.h (na distribuição de origem) e recompilar.

    
por 03.05.2011 / 13:55