今天遇到一个问题,前端页面请求后台响应半天提示【响应超时】,排查了半天最后发现应用程序没问题,postman请求也没有问题。就是前端页面没有响应数据,分析数据后,返回的数据包含html文本内容比较大,差不多1M数据大小。初步怀疑服务器Nginx 代理做了文件限制,网上说如下:
nginx 反向代理参数说明
proxy_connect_timeout 600; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_read_timeout 600; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_send_timeout 600; #后端服务器数据回传时间(代理发送超时)
proxy_buffer_size 32k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小
当加载的文件超过proxy_temp_file_write_size所设置的值时,nginx会将文件写入proxy_temp文件夹中,如果nginx是以nobody用户运行的则无读写权限,需要为其添加权限。
处理方法:排查发现的确是proxy_temp 这个没有读取权限,加上权限即可。