是否有一个简单的应用程序可以通过身份验证通过 http(使用简单的 Web 界面/目录列表)提供文件?我将设置一个基于 SBC 的家庭服务器(类似于 Raspberry Pi),并且想知道这样的应用程序是否存在作为 Owncloud 的轻量级、简单的替代方案。然后我可以使用 rsync 或 BitTorrent Sync 自行处理同步。
答案1
您可以使用任何 Web 服务器进行 http 内容列表和基本身份验证。基本身份验证是安全的,但您应该通过 SSL 隧道发送它。对于您的家庭系统,自签名证书可能足以保护身份验证请求。如果您使用嵌入式硬件,我会推荐 lighttp 或 nginx,因为基于进程的 Web 服务器(默认配置中的 apache)将为每个连接使用更多资源。 lightty 和 nginx 之间的主要区别在于 lightty 使用单个进程和单个非阻塞线程,而 nginx 使用主进程将工作委托给子进程。
这是一个示例/etc/nginx.conf
(未经测试,因此可能需要一些调整)。您只需在 /etc/nginx/tls 创建一个文件夹并向其中添加自签名 SSL 密钥对(cert.pem、cert.key)。
user nobody;
worker_processes 1;
events {
worker_connections 64;
}
http {
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log var/log/nginx/access.log main;
keepalive_timeout 60;
server {
server_name localhost;
listen 80 443;
ssl on;
ssl_certificate tls/cert.pem;
ssl_certificate_key tls/cert.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /path/to/your/data;
autoindex on;
}
}
}