You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

线上服务器报500内部错误,本地运行正常求排查建议

排查思路:仅服务器环境抛出500 Internal Server Error,本地运行正常

下述代码在本地运行正常,但部署到服务器后调用时抛出500内部服务器错误,请求提供排查思路:

控制器端点代码

@ApiOperation(value = "This API gets info from external service")
@PostMapping(value = "/ref-data/info", headers= "Accept=application/json")
public ResponseEntity<String> getMasterMaterialInfo(@RequestBody RequestDTO requestDTO) {
    return service.getInfo(requestDTO);
}

服务方法代码

public ResponseEntity<String> getInfo(RequestDTO requestDTO) {
    HttpEntity<RequestDTO> request = new HttpEntity<>(requestDTO);
    String requestUrl =  refDataUrl+"?apikey="+apikey;
    return restTemplate.exchange(requestUrl, HttpMethod.POST, request, String.class);
}

服务器日志

服务器日志截图


排查方向

  • 环境配置核对:

    • 确认服务器与本地的refDataUrl、apikey配置完全一致,检查服务器环境的API密钥是否有效、未过期,且外部服务是否允许服务器IP访问
    • 在服务器上通过curl或telnet测试外部服务地址的连通性,排查网络防火墙、代理设置或IP白名单限制
  • 序列化与请求响应校验:

    • 检查服务器与本地的JSON序列化组件(如Jackson)版本是否一致,避免因版本差异导致RequestDTO序列化失败
    • 验证外部服务在服务器环境下的响应格式是否符合预期,是否返回了非JSON格式或错误状态码的响应
  • RestTemplate配置差异:

    • 对比本地与服务器的RestTemplate配置,重点检查超时时间、消息转换器、拦截器设置,服务器可能因超时或转换器不兼容导致请求失败
  • 增强日志排查:

    • 在服务方法中添加异常捕获并打印完整错误栈,示例代码:
      public ResponseEntity<String> getInfo(RequestDTO requestDTO) {
          try {
              HttpEntity<RequestDTO> request = new HttpEntity<>(requestDTO);
              String requestUrl = refDataUrl+"?apikey="+apikey;
              return restTemplate.exchange(requestUrl, HttpMethod.POST, request, String.class);
          } catch (Exception e) {
              log.error("调用外部服务失败,请求URL:{},请求参数:{}", requestUrl, requestDTO, e);
              throw new RuntimeException("调用外部服务异常", e);
          }
      }
      
    • 开启Spring Boot的调试日志,查看更详细的请求、响应及异常信息
  • 外部服务状态确认:

    • 检查外部服务是否对服务器IP有限流、封禁策略,或API调用配额是否耗尽
    • 确认外部服务在服务器网络环境下的可用性,是否存在临时故障

内容的提问来源于stack exchange,提问作者user4130072

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:52:37