纯纯铁废丶物 2024-07-10 21:07 采纳率: 57.1%
浏览 16

阿里服务器部署项目,前端发送不了请求给后端

买了个阿里云服务器,比较穷,用宝塔Linux装了MySQL,Redis,把前后端都搭在上边了。
因为是在一个服务器上,前后端请求路径就用的开发时的localhost,由于前后端端口不一样。后端配置了跨域。但是前端页面打开后发送请求给后端,控制台直接报错(封装了myaxios,每次发送的请求在控制台都有输出),后端springboot没有收到请求。

img


求个佬指点一下子。

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-10 21:07
    关注

    引自免费微信小程序:皆我百晓生

    根据你的描述和提供的错误信息,问题可能出在以下几个方面:

    1. 请求路径问题:你在服务器上部署应用时,前后端使用的请求路径仍然是localhost。由于你已经在阿里云服务器上部署了应用,应该使用服务器的公网IP地址或者域名来替代localhost
    2. 端口问题:你提到前后端端口不一样,确保前端发送请求时使用的端口号是正确的。如果后端运行在8080端口,那么请求URL中的端口号也应该是8080。
    3. 跨域配置问题:虽然你提到后端已经配置了跨域,但请确保配置是正确的。跨域配置需要指定允许哪些域名进行访问,以及HTTP方法(如GET、POST等)和HTTP头部。
    4. 服务器防火墙或安全组规则:确保服务器的防火墙或安全组规则没有阻止前端发送的请求。

    针对这些问题,你可以尝试以下解决方案:

    1. 修改请求路径

    在前端代码中,将请求路径从localhost改为阿里云的公网IP地址或域名。例如:

    // 假设你的服务器公网IP是xxx.xxx.xxx.xxx,端口是8080
    const url = 'http://xxx.xxx.xxx.xxx:8080/api/user/recommend';
    

    2. 检查端口

    确保前端发送请求时使用的端口号是正确的,与后端实际运行的端口一致。

    3. 检查跨域配置

    检查后端Spring Boot的跨域配置,确保允许前端的域名进行访问。你可以在Spring Boot的配置文件中(如application.propertiesapplication.yml)添加如下配置:

    # 允许所有域名访问
    spring.cors.allowed-origins=*
    spring.cors.allowed-methods=GET,POST,PUT,DELETE,OPTIONS
    spring.cors.allowed-headers=*
    spring.cors.exposed-headers=*
    spring.cors.support-credentials=true
    

    4. 检查服务器防火墙和安全组规则

    确保服务器的防火墙或安全组规则没有阻止前端发送的请求。你可以在阿里云的安全组规则中检查并添加相应的规则来允许前端IP的访问。

    5. 查看服务器日志

    查看后端服务器的日志,看是否有关于请求被拒绝或其他相关错误的日志信息。这可以帮助你进一步定位问题。

    总结

    主要需要检查的是请求路径、端口、跨域配置和服务器防火墙设置。确保这些配置都是正确的,应该就能解决前端发送请求给后端失败的问题。希望这些建议能帮助你解决问题!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月10日

悬赏问题

  • ¥15 欧拉系统opt目录空间使用100%
  • ¥15 ul做导航栏格式不对怎么改?
  • ¥20 用户端如何上传图片到服务器和数据库里
  • ¥15 现在研究生在烦开题,看了一些文献,但不知道自己要做什么,求指导。
  • ¥30 vivado封装时总是显示缺少一个dcp文件
  • ¥100 pxe uefi启动 tinycore
  • ¥15 我pycharm运行jupyter时出现Jupyter server process exited with code 1,然后打开cmd显示如下
  • ¥15 可否使用carsim-simulink进行四轮独立转向汽车的联合仿真,实现四轮独立转向汽车原地旋转、斜向形式、横移等动作,如果可以的话在carsim中如何进行相应设置
  • ¥15 Caché 2016 在Java环境通过jdbc 执行sql报Parameter list mismatch错误,但是同样的sql使用连接工具可以查询出数据
  • ¥15 疾病的获得与年龄是否有关