自定义域的Firebase HTTP到HTTPS NGINX重定向删除GET的POST方法
Firebase无法将任何HTTP POST请求重定向到HTTPS POST。例: POST/HTTP/1.1 主机:api.mydomain.com 被Firebase NGINX重定向到 GET/HTTP/1.1 主机:api.mydomain.com 如果您明确使用https,那么NGINX可以正常工作:POST->POST 因此,当请求到达Firebase主机并将请求重定向到可由https端点访问的Firebase函数时,该方法有可能崩溃为GET from a POST方法 仔细查看Firebase Cloud函数中的头文件,该协议始终表示为http,而不是https自定义域的Firebase HTTP到HTTPS NGINX重定向删除GET的POST方法,firebase,express,nginx,google-cloud-functions,firebase-hosting,Firebase,Express,Nginx,Google Cloud Functions,Firebase Hosting,Firebase无法将任何HTTP POST请求重定向到HTTPS POST。例: POST/HTTP/1.1 主机:api.mydomain.com 被Firebase NGINX重定向到 GET/HTTP/1.1 主机:api.mydomain.com 如果您明确使用https,那么NGINX可以正常工作:POST->POST 因此,当请求到达Firebase主机并将请求重定向到可由https端点访问的Firebase函数时,该方法有可能崩溃为GET from a POST方法 仔细查看Fi
我假设这是一个我无法修改的内部问题,但是,这是我正在做的事情的问题,而且这肯定是一个问题,因为我无法修改处理http(s)请求的NGINX。如果您使用301或302状态代码重定向,则帖子将降级以获取 您需要使用307状态在重定向中维护POST。有关详细信息,请参阅 在Nginx上,需要使用
return
语句。例如:
return 307 https://$host$request_uri;
这就是问题所在:我使用firebase捕获api发出的post请求。对于这个特定的用例,它是有效的,因为我可以将所有请求作为post或get处理。但在内部,如果我将firebase用于另一个目的,即我无法控制谁在从我的端点请求时做什么,那么我无法改变firebase在内部使用nginx的方式。我无法修改firebase内部的工作方式。我想知道这是否是故意的,或者这是否是Firebase的一个bug,您必须联系Firebase支持部门以获取该信息。