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.