通过身份验证通过 http 提供文件的简单应用程序

通过身份验证通过 http 提供文件的简单应用程序

是否有一个简单的应用程序可以通过身份验证通过 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;
    }
  }
}

相关内容