feat: Node.js 前端代理后端路由 需设置环境变量 注意安全 SUB_STORE_FRONTEND_BACKEND_PATH=/prefix

This commit is contained in:
xream 2023-12-13 00:34:08 +08:00
parent a0a998dfdd
commit 8f2dbfe3df
No known key found for this signature in database
GPG Key ID: 1D2C5225471789F9
2 changed files with 6 additions and 3 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "sub-store", "name": "sub-store",
"version": "2.14.123", "version": "2.14.124",
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
"main": "src/main.js", "main": "src/main.js",
"scripts": { "scripts": {

View File

@ -68,7 +68,10 @@ export default function serve() {
const staticFileMiddleware = express_.static(fe_path); const staticFileMiddleware = express_.static(fe_path);
let be_rewrite = '';
let be_api = '/api/';
if (fe_be_path) { if (fe_be_path) {
be_rewrite = `${fe_be_path}/api/`;
app.use( app.use(
fe_be_path, fe_be_path,
createProxyMiddleware({ createProxyMiddleware({
@ -76,7 +79,7 @@ export default function serve() {
changeOrigin: true, changeOrigin: true,
ws: true, ws: true,
pathRewrite: { pathRewrite: {
[`^${fe_be_path}/api/`]: '/api/', [`^${be_rewrite}`]: be_api,
}, },
}), }),
); );
@ -97,7 +100,7 @@ export default function serve() {
$.info(`[FRONTEND] ${fe_address}:${fe_port}`); $.info(`[FRONTEND] ${fe_address}:${fe_port}`);
if (fe_be_path) { if (fe_be_path) {
$.info( $.info(
`[FRONTEND -> BACKEND] ${fe_address}:${fe_port}${fe_be_path}/api/ -> http://127.0.0.1:${port}/api/`, `[FRONTEND -> BACKEND] ${fe_address}:${fe_port}${be_rewrite} -> http://127.0.0.1:${port}${be_api}`,
); );
} }
}); });