인증을 통해 http를 통해 파일을 제공하는 간단한 애플리케이션

인증을 통해 http를 통해 파일을 제공하는 간단한 애플리케이션

인증을 통해 http(간단한 웹 인터페이스/디렉터리 목록 사용)를 통해 파일을 제공할 수 있는 간단한 애플리케이션이 있습니까? 저는 SBC 기반 홈 서버(Raspberry Pi와 유사)를 설정할 예정이며 그러한 애플리케이션이 Owncloud에 대한 가볍고 간단한 대안으로 존재하는지 궁금합니다. 그런 다음 rsync 또는 BitTorrent Sync를 사용하여 직접 동기화를 처리할 수 있습니다.

답변1

http 콘텐츠 목록 및 기본 인증을 위해 모든 웹 서버를 사용할 수 있습니다. 기본 인증은 안전하지만 SSL 터널을 통해 전송해야 합니다. 홈 시스템의 경우 자체 서명된 인증서만으로도 인증 요청을 보호하는 데 충분할 수 있습니다. 임베디드 하드웨어를 사용하는 경우 프로세스 기반 웹 서버(기본 구성의 Apache)가 연결당 더 많은 리소스를 사용하므로 lighttp 또는 nginx를 권장합니다. 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;
    }
  }
}

관련 정보