Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 使用自定义域实现谷歌云功能_Google Cloud Platform_Google Cloud Functions - Fatal编程技术网

Google cloud platform 使用自定义域实现谷歌云功能

Google cloud platform 使用自定义域实现谷歌云功能,google-cloud-platform,google-cloud-functions,Google Cloud Platform,Google Cloud Functions,当使用HTTP触发器时,我在任何地方都看不到为我的Google云功能设置自定义域的选项。似乎是一个相当大的疏忽。有没有办法使用自定义域来代替它们的位置项目.cloudfunctions.net域或其他类似的解决方法 我读过一篇文章,建议在函数前面使用CDN,并将函数URL指定为pull区域。这会起作用,但会带来不必要的成本——在我的场景中,没有一个内容能够被缓存,因此使用CDN远远不够理想。如果你可以,你可以获取虚荣URL。如果你可以,你可以获取虚荣URL。对于这个答案,已经有一段时间了 是的,

当使用HTTP触发器时,我在任何地方都看不到为我的Google云功能设置自定义域的选项。似乎是一个相当大的疏忽。有没有办法使用自定义域来代替它们的
位置项目.cloudfunctions.net
域或其他类似的解决方法


我读过一篇文章,建议在函数前面使用CDN,并将函数URL指定为pull区域。这会起作用,但会带来不必要的成本——在我的场景中,没有一个内容能够被缓存,因此使用CDN远远不够理想。

如果你可以,你可以获取虚荣URL。

如果你可以,你可以获取虚荣URL。

对于这个答案,已经有一段时间了

是的,现在您可以为您的Google云功能使用自定义域

转到firebase并将您的项目与firebase关联。我们在这里感兴趣的是主机。按照Firebase安装Firebase CLI-(这里的文档非常好)

现在创建您的项目,正如您在文档中可能注意到的,要将firebase添加到您的项目中,请键入
firebase init
。选择托管,就这样

完成后,查找
firebase.json
文件。然后像这样定制它

{

  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "myfunction/custom",
        "function": "myfunction"
      },
    ]
  }
}
默认情况下,您会得到一个类似
https://project-name.web.app
但您可以在控制台上添加自己的域

现在部署您的站点。既然你对网络主机不感兴趣,也许你可以按原样离开。现在,您的函数将按如下方式执行

{

  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "myfunction/custom",
        "function": "myfunction"
      },
    ]
  }
}
要执行的函数>
myfunction


自定义url>
https://example.com/myfunction/custom

这个答案已经有一段时间了

是的,现在您可以为您的Google云功能使用自定义域

转到firebase并将您的项目与firebase关联。我们在这里感兴趣的是主机。按照Firebase安装Firebase CLI-(这里的文档非常好)

现在创建您的项目,正如您在文档中可能注意到的,要将firebase添加到您的项目中,请键入
firebase init
。选择托管,就这样

完成后,查找
firebase.json
文件。然后像这样定制它

{

  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "myfunction/custom",
        "function": "myfunction"
      },
    ]
  }
}
默认情况下,您会得到一个类似
https://project-name.web.app
但您可以在控制台上添加自己的域

现在部署您的站点。既然你对网络主机不感兴趣,也许你可以按原样离开。现在,您的函数将按如下方式执行

{

  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "myfunction/custom",
        "function": "myfunction"
      },
    ]
  }
}
要执行的函数>
myfunction


自定义url>
https://example.com/myfunction/custom

如果您不介意url的最终外观,也可以设置CNAME dns记录

function.yourdomain.com->us-central1*********.cloudfunctions.net

那么你可以这样称呼它


function.yourdomain.com/function-1/?message=Hello+World

如果您不介意url的最终外观,也可以设置CNAME dns记录

function.yourdomain.com->us-central1*********.cloudfunctions.net

那么你可以这样称呼它


function.yourdomain.com/function-1/?message=Hello+World

避免Firebase的另一种方法是在云功能或云运行之前放置负载平衡器,并使用“无服务器网络端点组”作为负载平衡器的后端

一旦您设置了负载平衡器,只需修改域的DNS记录以指向负载平衡器,就可以开始了


另一种避免Firebase的方法是在云功能或云运行之前放置负载平衡器,并使用“无服务器网络端点组”作为负载平衡器的后端

一旦您设置了负载平衡器,只需修改域的DNS记录以指向负载平衡器,就可以开始了


使用Cloudflare Workers(CDN,反向代理)

为什么??因为它不仅允许您在云功能上设置反向代理,还允许您在CDN边缘位置配置服务器端渲染(SSR)、为初始(SPA)网页加载水合API响应、CSRF保护、DDoS保护、高级缓存策略等

  • 将您的域添加到Cloudflare;然后转到
    DNS
    设置,添加一条
    a
    记录,指向
    192.0.2.1
    ,并为该记录启用Cloudflare代理(橙色图标)。例如:
  • 创建类似以下内容的脚本:
  • 函数handleRequest(请求){
    constURL=新url(request.url);
    url.protocol=“https:”;
    url.hostname=“us-central1-example.cloudfunctions.net”;
    url.pathname=`/app${url.pathname}`;
    返回fetch(新请求(url.toString(),Request));
    }
    addEventListener(“获取”(事件)=>{
    event.respondWith(handleRequest(event.request));
    });
    
  • 最后,在Cloudflare仪表板中打开
    Workers
    选项卡,并添加一个新的路由,将您的域URL(模式)映射到此worker脚本,例如
    example.com/*
    =>
    代理
    (脚本)
  • 有关完整示例,请参阅(请参阅
    web/proxy


    此外,请在GCF问题跟踪器中投票。

    使用Cloudflare Workers(CDN,反向代理)

    为什么??因为它不仅允许您在云功能上设置反向代理,还允许您在CDN边缘位置配置服务器端渲染(SSR)、为初始(SPA)网页加载水合API响应、CSRF保护、DDoS保护、高级缓存策略等

  • 将您的域添加到Cloudflare;然后转到
    DNS
    设置,添加一条
    a
    记录,指向
    192.0.2.1
    ,并为该记录启用Cloudflare代理(橙色图标)。例如:
  • 创建类似以下内容的脚本:
  • 函数