0

appwrite/install用来安装我的 appwrite 实例。在安装过程中,我输入localhost主机、8004HTTP 和8005HTTPS 以及我的 CNAME 域。

docker run -it --rm     
--volume /var/run/docker.sock:/var/run/docker.sock     
--volume "$(pwd)"/appwrite:/install/appwrite:rw     
-e version=0.6.2     
appwrite/install

所有容器启动和运行都没有任何问题,我可以访问 appwrite 的登录和注册页面。

我还使用一个单独的 nginx 实例来代理我域的所有请求到 appwrite。如果这与问题有关,我也可以发布此配置。

当我创建一个新帐户时,我Registration Failed. Please try again later在用户界面和403 Inavlid Origin. Register your new client (<domain>) as a new Web platform on your project console浏览器控制台中收到错误消息。

显然 appwrite 没有应用我在安装时输入的 CNAME。我究竟做错了什么?

4

1 回答 1

1

403 错误意味着 Appwrite 无法识别此 Web 客户端并保护您免受 [CSRF][1] 攻击。

一些事情,将_APP_DOMAIN_APP_DOMAIN_TARGET都设置为您的实际域名而不是 localhost。

这应该让你不用代理,使用代理你应该确保它将主机名传递给 Appwrite 服务器。

使用 nginx 作为代理时,请确保 [传递主机标头][2]:

proxy_set_header Host $host;

[1]: https://owasp.org/www-community/attacks/csrf#:~:text=Cross%2DSite%20Request%20Forgery%20(CSRF,which%20they're%20currently%20authenticated [2]: https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/#passing-request-headers

于 2020-12-01T10:40:44.540 回答