Reviewse Proxy for PHP: Melhores práticas?

Estou configurando o NGINX como um proxy reviewso SSL paira três aplicativos web pequenos com conteúdo dynamic (PHP) e static.

O que seria considerado melhor prática de security e performance-sábio quando se trata de passair requests PHP?

Eles devem ser passados ​​paira o server web solicitado (NGINX – que passairia então paira PHP-FPM via socket ou TCP no mesmo host) ou eles deviewiam ser passados ​​diretamente paira o server PHP-FPM?

Todos os meus aplicativos da web e o proxy reviewso estão em prisões sepairadas no FreeBSD. Cada prisão possui seu próprio server web NGINX e PHP-FPM (ou uWSGI e Python).

One Solution collect form web for “Reviewse Proxy for PHP: Melhores práticas?”

Seu principal Nginx deve atuair como um proxy reviewso e encaminhair solicitações HTTP paira o respectivo server web de cada aplicativo. Se o proxy inviewso principal tiview access em nível de file às prisões do aplicativo, é melhor usair os sockets UNIX paira se comunicair com seu server web, mas no seu caso você não tem escolha senão usair o TCP.

Ao usair o TCP, certifique-se de configurair o pairâmetro keepalive paira manter uma série de conexões abertas em todos os momentos, paira que não seja necessário abrir e fechair uma connection em cada solicitação paira um melhor performance. O airgumento do pairâmetro é o número de conexões paira manter aberto, algo como 10 pairece bastante.

Em suas prisões, o server da Web deve usair os sockets UNIX paira se comunicair com o seu PHP-FPM paira um melhor performance (TCP tem mais sobrecairga do que um soquete UNIX, então use o último sempre que possível).

Finalmente, não vejo grandes problemas de security ao ter o principal inviewso-proxy que se comunica diretamente com o PHP-FPMs na cadeia, mas isso significa que você também deve configurair o proxy reviewso principal de acordo com o PHP-FPM da cadeia. Isso é algo que eu prefiro evitair, eu preferiria que as cadeias fossem autônomas e expusessem um único ponto de extremidade HTTP em uma porta padrão, e a Nginx na pasta contenha todas as coisas do PHP-FPM. Se houview algo que você precisa mudair no que diz respeito ao PHP-FPM, você apenas faz isso na prisão sem tocair seu principal proxy reviewso Nginx.

Também sugiro que você tente um server web ainda mais leve paira as prisões como o Lighttpd, uma vez que você realmente não precisa de muito resources lá e mesmo que a syntax de configuration do Lighty seja absolutamente horrível , não deve ser um problema.

Sobre o seu último comentário

Agora eu só preciso descobrir quais configurações configurair no backend e quais no proxy (cache-controle, keepalive, error_page, etc …)

O pairâmetro keep-alive que mencionei deve ser configurado no bloco a upstream do proxy reviewso Nginx principal e afeta somente a comunicação do server de inviewsão-proxy <-> e não tem nada a view com o HTTP keep-alive entre os clientes e seus server. Paira manter entre browseres e serveres, ele deve ser feito no último ponto final do seu lado, que é o proxy reviewso. Por outro lado, headers de controle de cache dependem do aplicativo (pois diferentes aplicativos podem precisair de configurações diferentes) e devem ser configurados individualmente nas prisões do aplicativo. Tente colocair o máximo de configurações possível na prisão de cada aplicativo, e apenas modifique a configuration do proxy reviewso em casos extremos, como configurações de nível de connection (HTTP keepalive, TLS, etc.).

  • Faça com que o nginx passe o nome do host do upstream quando for reviewsível
  • Passando IP do Cliente em Proxies Múltiplos
  • nginx 403 ao fornecer files statics + proxy reviewso
  • Pasta proxy nginx reviewsa
  • Apache proxy_http redireciona paira ip e define hostname
  • Como manuseair URLs relativas corretamente com um proxy reviewso
  • apache2 proxy reviewso 2 hosts virtuais e ssl
  • Solução paira Reviewse Proxying paira URLs que não são passíveis de serem transferidos paira um subdiretório