J'essaie d'obtenir nginx à toujours proxy certaines demandes, même si un fichier statique existe. J'ai le travail de proxying bien, sauf nginx semble insister pour servir une version statique du fichier même si une directive de proxy a été déclarée. Donc, dans la configuration ci-dessous, si un fichier nommé "/siteroot/static/members/page.html" existait, il serait (incorrectement) servi directement au lieu d'être mandaté, mais si je supprime le fichier, la procuration se poursuit comme prévu. Comment puis-je forcer nginx à toujours utiliser un proxy?Nginx proxy_pass est ignoré si le fichier statique existe
Je suis en nginx 0.7.67, voici la config complète:
worker_processes 1;
error_log logs/error.log;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
access_log logs/access.log;
sendfile on;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
}
server {
listen 80;
server_name .XXX.net .XXXnet.net;
server_name_in_redirect off;
location ^~ /members {
access_log logs/members-access.log;
proxy_pass http://127.0.0.1:5010;
}
location ^~ /search {
access_log logs/search-access.log;
proxy_pass http://127.0.0.1:5010;
}
location/{
root /siteroot/static;
}
# redirect server error pages to the static page /50x.html
error_page 404 %(ROOT)s/web/XXX/public/404.html;
error_page 500 502 503 504 %(ROOT)s/web/XXX/public/50x.html;
}
La requête se retrouve-t-elle dans le fichier 'members-access.log' ou est-elle redirigée vers' location/'? Normalement, une règle comme '^ ~ quelque chose 'aurait préséance sur'/'. – Wolph
Aussi, je vote pour un passage à 'serverfault' car cela n'a rien à voir avec la programmation. – Wolph
@WoLpH: il va dans l'accès des membres, peu importe comment servi. –