如何在OpenLiteSpeed中配置反向代理部署Node.js应用?
OpenLiteSpeed 配置 Node.js 应用反向代理实现子路径无端口访问
前提准备
确认你的Node.js应用已通过pm2正常运行在8080端口,直接访问localhost:8080能正常打开前后端页面。
具体配置步骤
- 登录OpenLiteSpeed管理后台(默认端口
7080),进入目标虚拟主机的配置页面(比如默认的Example虚拟主机)。 - 添加反向代理上下文
- 切换到「Context」标签页,点击「Add」按钮。
- 上下文类型选择Reverse Proxy,URI路径填写
/downtime-app。 - 「Addresses」栏填入
http://127.0.0.1:8080,这是pm2运行Node.js应用的地址。 - 勾选「Rewrite Resp Header」选项,确保响应头中的路径会自动替换为
/downtime-app,避免跳转时出现端口或路径错误。
- 配置前端路由兼容(解决刷新503问题)
- 在刚创建的
/downtime-app上下文里,切换到「Rewrite」标签页。 - 开启「Enable Rewrite」,然后添加以下规则:
RewriteRule ^/downtime-app$ /downtime-app/index.html [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/downtime-app/(.*)$ /downtime-app/index.html [L]
- 在刚创建的
- 生效配置
- 点击页面右上角的「Save」保存设置,再点击「Graceful Restart」重启OpenLiteSpeed,让配置生效。
- 验证
- 访问
localhost/downtime-app,测试页面加载、路由跳转、刷新操作是否正常,同时确认后端接口能通过该路径正常调用。
- 访问
关于之前.htaccess无效的说明
OpenLiteSpeed启用.htaccess需要在虚拟主机配置中开启「Allow Override All」,但反向代理场景下,直接通过Rewrite规则指向静态文件无法正确转发Node.js服务的请求,必须通过反向代理上下文将请求转发到pm2运行的端口,再配合路由重写处理前端单页应用的刷新问题。
内容的提问来源于stack exchange,提问作者Briansay
相关产品推荐
相关产品推荐

