diff --git a/backend/package.json b/backend/package.json index 02f307e..9131b0c 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.124", + "version": "2.14.125", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/restful/index.js b/backend/src/restful/index.js index e4c58e3..545fc21 100644 --- a/backend/src/restful/index.js +++ b/backend/src/restful/index.js @@ -71,15 +71,21 @@ export default function serve() { let be_rewrite = ''; let be_api = '/api/'; if (fe_be_path) { - be_rewrite = `${fe_be_path}/api/`; + if (!fe_be_path.startsWith('/')) { + throw new Error( + 'SUB_STORE_FRONTEND_BACKEND_PATH should start with /', + ); + } + be_rewrite = `${fe_be_path === '/' ? '' : fe_be_path}${be_api}`; app.use( - fe_be_path, + be_rewrite, createProxyMiddleware({ target: `http://127.0.0.1:${port}`, changeOrigin: true, - ws: true, - pathRewrite: { - [`^${be_rewrite}`]: be_api, + pathRewrite: (path) => { + return path.startsWith(be_rewrite) + ? path.replace(be_rewrite, be_api) + : path; }, }), );