我正在使用appwrite/install来安装我的appwrite实例。在安装过程中,我输入了主机的localhost、HTTPS的8004和8005以及CNAME的my域。
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所有的容器启动和运行,没有任何问题,我可以访问登录和注册页面的应用程序。
我还使用一个单独的nginx实例代理我域的所有应用程序请求。我也可以发布这个配置,以防这与问题有关。
当我创建一个新帐户时,我会得到用户界面中的错误消息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。我做错了什么?
发布于 2020-12-01 10:40:44
403错误意味着Appwrite不承认这个web客户端,并保护您免受CSRF攻击。
一些事情,将_APP_DOMAIN和_APP_DOMAIN_TARGET都设置为您的实际域名,而不是本地主机。
这将使您无需使用代理,而使用代理时,您应该确保它将主机名传递给Appwrite服务器。
使用nginx作为代理时,请确保传递主机标头:
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
https://stackoverflow.com/questions/65088440
复制相似问题