Anki-Sync-Server 反向代理配置与 Nginx/Apache 集成教程【免费下载链接】anki-sync-serverA personal Anki sync server (so you can sync against your own server rather than AnkiWeb)项目地址: https://gitcode.com/gh_mirrors/ank/anki-sync-serverAnki-Sync-Server 是一款强大的个人 Anki 同步服务器让你可以脱离 AnkiWeb搭建自己的同步服务。本文将详细介绍如何通过 Nginx 和 Apache 反向代理配置实现 Anki-Sync-Server 的安全访问与高效部署适合新手和普通用户轻松掌握。一、准备工作确认 Anki-Sync-Server 运行端口在进行反向代理配置前首先需要确认 Anki-Sync-Server 的默认运行端口。通过查看项目配置文件我们可以找到相关设置配置文件位置项目根目录下的example.ini文件是主要配置模板。端口设置在配置文件中通常会有类似port 27701的设置不同版本可能有所差异这就是 Anki-Sync-Server 的默认监听端口。提示如果需要修改端口可以复制example.ini为production.ini后进行自定义设置避免直接修改模板文件。二、Nginx 反向代理配置简单高效的实现方式Nginx 以其轻量高效的特点成为反向代理的热门选择。以下是详细的配置步骤2.1 安装 Nginx根据你的操作系统使用相应的包管理器安装 NginxUbuntu/Debiansudo apt-get install nginxCentOS/RHELsudo yum install nginxmacOSbrew install nginx2.2 创建 Nginx 配置文件在/etc/nginx/sites-available/目录下创建一个新的配置文件例如anki-sync-server.conf内容如下server { listen 80; server_name your_domain.com; # 替换为你的域名或服务器IP location / { proxy_pass http://127.0.0.1:27701; # 指向 Anki-Sync-Server 运行地址和端口 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; } }2.3 启用配置并重启 Nginx创建符号链接到sites-enabled目录sudo ln -s /etc/nginx/sites-available/anki-sync-server.conf /etc/nginx/sites-enabled/测试配置是否有误sudo nginx -t重启 Nginx 服务sudo systemctl restart nginx三、Apache 反向代理配置稳定可靠的替代方案如果你更熟悉 Apache 服务器也可以通过以下步骤实现反向代理3.1 安装并启用 Apache 模块首先确保 Apache 已安装并启用必要的模块sudo apt-get install apache2 # Ubuntu/Debian sudo a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests # 启用代理模块 sudo systemctl restart apache23.2 配置 Apache 虚拟主机在/etc/apache2/sites-available/目录下创建配置文件anki-sync-server.confVirtualHost *:80 ServerName your_domain.com # 替换为你的域名或服务器IP ProxyPreserveHost On ProxyPass / http://127.0.0.1:27701/ ProxyPassReverse / http://127.0.0.1:27701/ # 可选设置超时时间避免同步大文件时连接中断 ProxyTimeout 300 /VirtualHost3.3 启用站点并重启 Apache启用站点配置sudo a2ensite anki-sync-server.conf重启 Apache 服务sudo systemctl restart apache2四、验证反向代理配置是否生效配置完成后通过以下步骤验证是否成功确保 Anki-Sync-Server 已启动python ankiserverctl.py start打开浏览器访问你的域名或服务器 IP无需指定端口如果看到 Anki-Sync-Server 的默认页面或同步提示说明配置成功注意如果无法访问可检查防火墙设置确保 80 端口已开放sudo ufw allow 80/tcp五、进阶配置添加 HTTPS 安全访问为了提升数据传输的安全性建议为反向代理配置 HTTPS5.1 使用 Lets Encrypt 获取免费 SSL 证书sudo apt-get install certbot python3-certbot-nginx # 对于 Nginx # 或 sudo apt-get install certbot python3-certbot-apache # 对于 Apache sudo certbot --nginx -d your_domain.com # 自动配置 Nginx # 或 sudo certbot --apache -d your_domain.com # 自动配置 Apache5.2 验证 HTTPS 配置访问https://your_domain.com如果浏览器显示安全锁图标说明 HTTPS 配置成功。六、常见问题解决6.1 反向代理后无法同步数据检查production.ini中的base_url设置确保与你的域名一致确认 Nginx/Apache 的代理头配置是否正确特别是X-Forwarded-ProtoHTTPS 时需设为https6.2 服务器重启后代理失效将 Anki-Sync-Server 设置为开机自启可参考项目中的supervisor-anki-server.conf配置 Supervisor 服务七、总结通过 Nginx 或 Apache 反向代理我们可以轻松实现 Anki-Sync-Server 的域名访问、端口隐藏和 HTTPS 加密提升服务的可用性和安全性。无论是新手还是有经验的用户都能按照本文的步骤快速完成配置享受自建 Anki 同步服务的便利。如果你在配置过程中遇到问题可以查阅项目的官方文档或提交 Issue 获取帮助。祝你的 Anki 学习之旅更加高效【免费下载链接】anki-sync-serverA personal Anki sync server (so you can sync against your own server rather than AnkiWeb)项目地址: https://gitcode.com/gh_mirrors/ank/anki-sync-server创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考