Google cloud platform 使用自定义域实现谷歌云功能
当使用HTTP触发器时,我在任何地方都看不到为我的Google云功能设置自定义域的选项。似乎是一个相当大的疏忽。有没有办法使用自定义域来代替它们的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。对于这个答案,已经有一段时间了 是的,
位置项目.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保护、高级缓存策略等
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));
});
Workers
选项卡,并添加一个新的路由,将您的域URL(模式)映射到此worker脚本,例如example.com/*
=>代理(脚本)
web/proxy
)
此外,请在GCF问题跟踪器中投票。使用Cloudflare Workers(CDN,反向代理) 为什么??因为它不仅允许您在云功能上设置反向代理,还允许您在CDN边缘位置配置服务器端渲染(SSR)、为初始(SPA)网页加载水合API响应、CSRF保护、DDoS保护、高级缓存策略等
DNS
设置,添加一条a
记录,指向192.0.2.1
,并为该记录启用Cloudflare代理(橙色图标)。例如:函数