谷歌云功能上的快速服务器无法在没有尾随/的情况下提供静态文件

问题描述

我将快速服务器托管为谷歌云功能 每当我点击以下链接时,它都能完美运行

https://<cloud-function-link>/<project-id>/static/

但是如果我删除结尾的斜杠 / https://<cloud-function-link>/<project-id>/static 它会重定向https://<cloud-function-link>/static 并给我 403 错误

我希望它可以同时使用尾随 / 和不使用它。

我的 app.yaml

runtime: nodejs12

handlers:
  - url: /static
    static_dir: public

  - url: /.*
    script: auto

我的 index.js

const express = require("express");
const app = express();
const cors = require("cors");
const bodyParser = require("body-parser");
const cookieParser = require("cookie-parser");
require("dotenv/config");
//routes
const authRoute = require("./routes/auth.js");
const adminRoute = require("./routes/admin.js");
//middleweres
//converting body into json using body parser
app.use(
  cors({
    origin: true,credentials: true,exposedHeaders: ["auth-token"],})
);
app.use(cookieParser());
app.use(bodyParser.json());

app.use("/static",express.static("public"));
app.use("/api/auth",authRoute);
app.use("/api/admin",adminRoute);

// starting express server
if (process.env.BUILD === "dev")
  app.listen(5000,() => {
    console.log("listning on port 5000");
  });

module.exports = {
  app,}

;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)