500 Internal Server Error 原因及解决方案

深碍√TFBOYSˉ_ 2023-10-02 18:01 20阅读 0赞

服务迁移之后接口响应变慢,而且还有报错:500 Internal Server Error,

端上请求报错日志:

watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBAbmFuZGFvMTU4_size_20_color_FFFFFF_t_70_g_se_x_16

原因初步分析:数据包比较大的时候,比如参数多,大的对象,或者图片base64等格式之间往服务端发送请求时:

1、前后端服务连接超时

2、数据包比较大的时候,读写超时

3、服务器配置对包的大小做了限制,配置大小小于现在数据包的大小。

解决方案:

proxy_connect_timeout :后端服务器连接的超时时间_发起握手等候响应超时时间

proxy_read_timeout:连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)

proxy_send_timeout :后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据

数据包的大小设置,在业务代码里或者服务器上均可以设置:

1、java配置文件配置:

  1. #配置文件传输
  2. spring.servlet.multipart.enabled =true
  3. spring.servlet.multipart.file-size-threshold =0
  4. #单个数据的大小
  5. spring.servlet.multipart.max-file-size = 100Mb
  6. #总数据的大小
  7. spring.servlet.multipart.max-request-size=100Mb

如果没配置可能报错如下:

  1. org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field pic exceeds its maximum permitted size of 10485760 bytes.

2、nginx配置

  1. client_max_body_size 1024M; 上传文件大小限制
  2. sendfile on; 设置为on表示启动高效传输文件的模式
  3. keepalive_timeout 1800;保持连接的时间,默认65s

当然如果使用其他服务器也是同理!

发表评论

表情:
评论列表 (有 0 条评论,20人围观)

还没有评论,来说两句吧...

相关阅读

    相关 500 (Internal Server Error)

    今天我遇到这个问题,懵逼了。 然后找了好久,试了好久,终于解决,写篇博客纪念下。 首先,我是访问php文件时出现这个问题的。 然后,根据网上教程([点击打开链接][Lin