带有firebase云功能的自定义URL与nginx反向代理?

时间:2017-12-06 12:50:30

标签: firebase nginx google-cloud-functions nginx-reverse-proxy

现在我已经使用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;
  }

2 个答案:

答案 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/