我正在使用带有PHP-FPM的nginx服务器进行Web开发。在从浏览器向服务器发送连续的AJAX调用时,我有时会获得有效URL的404 Not Found错误。 (当我在新的浏览器选项卡中打开URL时,它正确显示页面。)
我无法调试为什么nginx表现得像这样。我不知道它是否正在断开连接。我该怎么办?
我正在使用nginx的默认安装,并且没有对它进行任何更改。
这是我的nginx.conf
服务器{
listen IP address with PORT ssl;
server_name SERVER Name;
root /u01/projectfolder;
ssl on;
ssl_certificate /etc/nginx/ssl/36287365.net.cert;
ssl_certificate_key /etc/nginx/ssl/36287365.net.key;
index index.php index.html;
log_not_found off;
charset utf-8;
location /rainbow {
try_files $uri $uri/ /rainbow/index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9101;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
我还在php端添加了日志index.php,但是对于404请求,没有生成日志。我猜这个请求没有达到php方式fastcgi和nginx。
请帮忙
答案 0 :(得分:0)
如果您有多个服务器在同一端口上侦听,则可能会发生这种情况,请确保只有一台PHP服务器在9101上侦听。
我在两个不同的Node.js服务器同时运行,侦听同一端口的情况下遇到了这种情况-大约50%的请求返回HTTP错误404,其余请求则正常200。
您可以通过直接在计算机上使用CURL绕过Nginx生成相同的请求来验证这不是Nginx的错误。如果仍然发生这种情况,那不是他们的错。