springboot+vue项目上云报networkError
问题描述:
springboot+vue前后端分离项目,本地正常,jar包运行正常如图1,前端用nginx部署,后端直接运行jar包部署,前端正常,后端在服务器主机上用curl访问正常,但内网访问服务器主机失败,用postman发送请求如是。(跨域问题后端解决)
报net::ERR_CONNECTION_REFUSED错误,服务器拒绝连接。
图1 本地java运行jar包
图 本地postman请求成功
图 本地vue发送请求成功
图 云服务器curl发送请求返回正常
图 vue前端发送axios请求连接失败
图 vue前端连接失败无响应
图 vue前端拒绝连接
图 postman发送请求拒绝连接
解决方案
检查一遍云主机防火墙、跨域处理等发现正常,最后检查代码,发现springboot配置文件有问题:注释掉关于server.address的配置即可。猜测是由于ipv4地址问题,配置为server.address=localhost时,在本地测试时发现ipv4地址+端口同样无法访问,但是内网ip+端口可以,云上亦然。
什么是跨域
(图片来自网络,侵删)
步骤一:nginx跨域
# 允许跨域请求的域,*代表所有
add_header 'Access-Control-Allow-Origin' *;
# 允许带上cookie请求
add_header 'Access-Control-Allow-Credentials' 'true';
# 允许请求的方法,比如 GET/POST/PUT/DELETE
add_header 'Access-Control-Allow-Method' *;
# 允许请求的header
add_header 'Access-Control-Allow-Headers' *;
随后关闭nginx然后重启。
不想写了,下次完善。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了