现在我已经使用firebase开发了云功能,在部署之后,我只是得到类似这样的端点
https://us-central1-app-id.cloudfunctions.net/api/path/of/api/
我的问题是,是否可以使用nginx代理(如
)将自定义域映射到此端点http://my-domain.com/path/of/api/
经过一些实验后,我将自定义域链接到云功能后才出现此错误
404. That’s an error.
The requested URL /path/of/api/ was not found on this server. That’s all we know.
这是我在nginx上的配置
location /path/of/api/ {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
proxy_cache_bypass $http_upgrade;
proxy_pass https://us-central1-app-id.cloudfunctions.net/api;
}
答案 0 :(得分:0)
您需要将Host
设置为us-central1-app-id.cloudfunctions.net
,例如在配置中:
proxy_set_header Host us-central1-app-id.cloudfunctions.net;
答案 1 :(得分:-1)
您可能不需要任何NGINX代理来执行URL路由。您可以简单地创建一个Firebase托管项目,并使用重写规则来调用您的云功能。我已经在博客上针对该主题进行了深入的探讨。
https://blog.emad.in/firebase-cloud-functions-with-nginx-like-reverse-proxy/