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

Ubuntu终端部署SpringBoot+Apache2遇503错误求助

问题诊断与解决步骤

核心问题定位

Apache错误日志中的AH01114: HTTP: failed to make connection to backend: 127.0.0.1和Connection refused明确说明:你的SpringBoot应用没有在8080端口正常启动,或者启动失败,导致Apache无法连接后端服务,返回503错误。


1. 先确保SpringBoot应用能独立运行

这是最关键的前提,必须先让应用自身能访问,再配置Apache代理:

  • 检查8080端口是否有Java进程监听:
    ss -tulpn | grep 8080
    
    如果没有任何输出,说明应用未启动。
  • 手动启动应用并查看启动日志:
    • 方式1:用Maven直接启动
      cd /var/www/andyrojaslab08.tk/repo333
      ./mvnw spring-boot:run
      
    • 方式2:用jar包启动(选你项目对应的jar,比如lab08xy.jar)
      cd /var/www/andyrojaslab08.tk
      java -jar lab08xy.jar --server.port=8080
      
  • 启动成功后,测试本地访问:
    curl http://127.0.0.1:8080
    
    如果能返回正常页面/数据,说明应用没问题;如果报错,根据启动日志排查(比如数据库连接、依赖缺失等)。

2. 确认Apache代理模块已启用

Apache反向代理依赖proxy和proxy_http模块,执行以下命令启用并重启Apache:

a2enmod proxy proxy_http
systemctl restart apache2

3. 优化Apache虚拟主机配置

你的配置中有冗余项,修正后更简洁:

<VirtualHost *:80>
       ServerName andyrojaslab08.tk

       ProxyPreserveHost on
       ProxyPass / http://127.0.0.1:8080/
       ProxyPassReverse / http://127.0.0.1:8080/

       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • 删掉了DocumentRoot:因为用的是反向代理,不需要指定静态文件根目录,避免混淆。
  • 规范了ProxyPass的空格格式:虽然多空格不影响功能,但保持统一更易维护。

修改后重启Apache:

systemctl restart apache2

4. 修正/etc/hosts的重复映射

/etc/hosts中将andyrojaslab08.tk同时映射到3个IP,可能导致解析混乱,保留一条即可:

127.0.0.1       andyrojaslab08.tk

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

5. 测试最终效果

完成以上步骤后,重新测试:

curl andyrojaslab08.tk

如果返回正常内容,说明配置成功;如果还是503,再检查Apache错误日志和SpringBoot应用状态。

内容的提问来源于stack exchange,提问作者Andy Salim Rojas Hinojosa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 17:17:19