O problema não tem nada a ver com o proxy reverso. O bloco de servidores para o 7900 tem vários problemas.
A raiz do documento padrão é definida no diretório PHP, para que o bloco location ~* \.html$
nunca funcione.
Eu não sei o que o if (-f $request_filename) { break; }
deve fazer.
E o bloco location ~ .*\.(php|php5)?$
corresponde a URIs como .
. Você afirma que tem alguns arquivos .php
, mas só retorna index.php
.
Já pensou em usar try_files
? Por exemplo (e este é apenas um ponto de partida):
server {
listen 7900;
root /data/webjp_static;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php5?$ {
root /data/webjp/weber;
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
location ~* \.html$ {
expires -1;
}
}
Observe que a diretiva index
não encontrará nenhum arquivo index.php
à medida que você os mantém em um diretório separado dos arquivos .html
.
Leia este documento primeiro.