Roe Wade
Roe Wade
https://github.com/Privoce/vocechat-server-rust/blob/master/build/docker/Dockerfile
Caddy can easily and automatically apply for free certificates, which works well with vocechat-server.
请尝试修改 vocechat-server 的配置文件 config/config.toml [network] bind = "0.0.0.0:3000" 修改 3000 为您想要的端口。
你可以尝试直接 cd data/db, 然后用 sqlite3 命令打开 .sqlite 文件,用命令 DELETE FROM user WHERE ... 删除,然后重启 vocechat-server 。
在 vocechat-server 的 config.toml 里配置证书后,不需要在 nginx 里再次配置证书了,直接让 vocechat-server 监听 443 端口。配置方法: [network] bind="0.0.0.0:443" [network.tls] type = "certificate" cert = "contents of .crt" key = "contents of .key" 启动后注意查看日志。
配置证书的时侯,要注意域名与证书一致,我看你的截图里是请求的 IP。 [network] bind = "0.0.0.0:443" \# domain = "www.domain.com" frontend_url = "https://your-domain.com"
证书必须配合域名使用,否则浏览器会有安全提示。命令行你可以 curl -k 来消除提示。
建议你逐步排查: 1. nginx 是否跑在 docker 当中? 2.vocechat-server docker 能否和 nginx docker 正常通信? 3. 尝试修改你的 nginx 的配置,proxy_pass http://172.17.0.1:3000 (这里为宿主机的IP和端口) 4. 尝试直接运行 nginx,不使用 docker 的方式。
用 Chorme 开发者工具(F12)看一下,网络里是否存在不同域的请求,导致了请求失败。
请停止掉 vocechat-server 了再挂载试试, vocechat-server 启动后会使用 sqlite 数据库,sqlite 会 lock database file。