2009-09-23 9 views
2

Apache 또는 lighttpd 또는 nginx와 같은 웹 서버에서 HTTP 기본 인증을 사용하면 성능에 미치는 영향을 알고 싶습니다. 나는 병목 현상이 서버를 통해 사용자를 인증하기 위해 파일을 실제로 읽은 것이라고 생각합니다. 또한 사용자 인증을 위해 파일을 읽는 비용은 해당 파일의 사용자 수에 비례합니다.HTTP 기본 인증, 암호 파일 및 성능 읽기

내가 가지고있는 질문 :
1. 파일을 통한 기본 인증을 통한 파일 전송이 극적으로 시작되는 특정 사용자 수가 있습니까? 아니면 파일의 사용자 수와 선형 관계입니까?
2. http의 상태를 알 수없는 특성이 주어지면 한 요청에서 웹 서버가 HTTP 기본 인증을 사용하여 사용자를 인증 한 경우 :
- 요청할 때마다 자격 증명을 전달하기 만하면 웹 서버는 매번 암호 파일을 구문 분석해야합니다. 이 사용자가 유효한 사용자의 요청인지 확인하려면?
또는
- 후속 요청에서 http 헤더에 사용되는 토큰과 유사한 것을 얻으므로 서버가 암호 파일을 다시 구문 분석하지 않도록 할 수 있습니까? 로그온 할 때 한 번 파일을 구문 분석 사전

답변

3
  1. 선형 관계. 나는 걱정하지 않을 것이다. HTTP Basic Auth는 확장 가능함이 입증되었습니다. Twitter API를 예로 들어 보겠습니다. 기본 인증을 사용합니다. HTTP 프로토콜은 무 상태이기 때문에

  2. 은 "각 요청은 동일한 클라이언트에서, 비록 같은 방식으로 처리됩니다. 즉, 서버에서 요구되는 모든 자원이 인증을 제공해야합니다 다행스럽게도 브라우저가 여기에서 세부 사항을 처리하므로 사용자 이름과 비밀번호를 브라우저 세션 당 한 번만 입력해야합니다. 다시 입력해야 할 수도 있습니다. 다음에 브라우저를 열고 같은 웹 사이트를 방문 할 때. " Apache Auth documentation에서

자세한 정보를 원하시면.

+0

감사합니다. 기본적으로 내가보고있는 dahango 백엔드 mod_wsgi 및 lighttpd 또는 nginx 앞에서 apache2를 실행합니다. 고정 미디어의 각 조각에 대한 각 요청이 django에 도달하고, 인증을받은 다음 nginx 또는 lighttpd로 다시 전달해야하므로 보안 미디어 인증이 django에 의해 처리되면 비용이 많이 드는 것처럼 느껴집니다. lighttpd 또는 nginx 수준에서 기본 인증을 수행하는 것이 더 경제적인지 궁금합니다. 확실히 더 간단합니다. –

0

에서

덕분에 상관없이 얼마나 많은 사용자, 꽤 잘 확장 없습니다. 나는 그것에 대해 정말로 걱정하지 않을 것이다. 앞으로는 적절한 인덱싱을 사용하여 데이터베이스 중심 접근 방식을 개발할 수 있습니다. 나는 당신이 사이트를 개발할 때 생기는 모든 병목 현상을 의심합니다. Basic Auth는 매우 오랜 시간 동안 그 중 하나가 될 수 없습니다 - 웹 서버가 매우 낮은 권한을 갖고 있지 않는 한.

1

내 경험은 Apache 2.x에서만 발생합니다.

  1. 예. 기본 인증 공급자 (파일)와 선형이됩니다. ap_cfg_getline()을 사용하므로 라인 수 (사용자 수)에 선형이됩니다.
  2. 예. mod_aaa는 매번 암호를 분석해야합니다. 쿠키 또는 토큰 기반 인증에 MemCookie과 같은 것을 사용할 수 있습니다.