宝塔apache环境配置nodejs管理后台解决接口跨域问题

Apache 的反向代理规则和 Nginx 不一样,得换 Apache 的配置方式。

 

核心问题:Apache 的反向代理配置方式

 
宝塔中 Apache 的反向代理需要通过「虚拟主机配置文件」添加ProxyPass规则,而不是 Nginx 的location配置。
 

步骤 1:修改 Apache 的虚拟主机配置

 
  1. 登录宝塔面板,找到管理后台网站(baoxiuadmin.anoleai.com)→ 点击「设置」→「配置文件」。
  2. 在配置文件的<VirtualHost *:443>块内,添加以下反向代理规则(放在DocumentRoot之后):
 
apache
 
 
# 反向代理:将/api路径转发到Node容器
ProxyPass "/api" "http://127.0.0.1:3000/api"
ProxyPassReverse "/api" "http://127.0.0.1:3000/api"
 
 
  • 注意:ProxyPass的格式是 ProxyPass "代理路径" "目标URL",这里要保证路径完全匹配(比如你的接口是/api/admin/login,代理路径写/api,目标 URL 写http://127.0.0.1:3000/api)。
 

步骤 2:确保 Apache 启用了反向代理模块

 
宝塔默认可能没开启 Apache 的代理模块,需要手动启用:
 
  1. 宝塔面板→「软件商店」→ 找到「Apache」→ 点击「设置」→「模块管理」;
  2. 勾选proxy_moduleproxy_http_module(这两个是反向代理必需的模块);
  3. 点击「保存」,Apache 会自动重启。
 

步骤 3:重启 Apache 并测试

 
  1. 宝塔→软件商店→Apache→点击「重启」;
  2. 清除浏览器缓存(Ctrl+Shift+R),重新发起登录请求。
 

关键说明

 
Apache 的ProxyPass规则和 Nginx 的区别:
posted @ 2026-01-20 11:58  求必印  阅读(2)  评论(0)    收藏  举报