개발자 도구 / 24

Apache / Nginx .htpasswd 생성기

Apache와 Nginx용 .htpasswd 인증 행과 비밀번호 해시를 클라이언트 메모리에서 생성합니다.

Apache / Nginx .htpasswd 생성기: TOEA는 HTTP 기본 인증에 Apache와 nginx가 사용하는 행을 작성합니다. 기본값은 Apache의 $apr1$ 형식입니다. 비밀번호에 8개의 무작위 문자를 솔트로 추가한 뒤 1,000회 반복 처리하며, 이는 htpasswd -m이 생성하고 두 서버가 모두 읽을 수 있는 형식입니다. 서버에 파일을 전혀 업로드하지 않고 브라우저에서 100% 로컬로 실행됩니다.

카테고리
개발자 도구
실행 횟수
브라우저에서
비용
무료 · 가입 불필요
사용 가능 여부
사용 가능

서버에 해당 줄 연결하기

웹 루트 외부의 파일에 줄을 저장하고, 한 줄에 하나의 user:hash를 배치하십시오. nginx에서는 location 또는 server 블록에 auth_basic "Restricted";와 auth_basic_user_file /etc/nginx/.htpasswd;를 추가하십시오. Apache에서는 AuthType Basic, AuthName, 파일의 전체 경로를 지정한 AuthUserFile, Require valid-user를 사용하십시오. 이후 서버를 다시 로드하십시오. 문법 오류가 있으면 로그인뿐 아니라 모든 요청이 실패하는 현상으로 나타납니다.

달러 기호와 일반 HTTP

해시에는 $ 문자가 많이 포함되어 있으며 Docker Compose 파일, .env 파일 및 일부 프록시 레이블은 $를 변수의 시작으로 읽습니다. Compose에서는 각 $를 $$로 작성하십시오. 그렇지 않으면 해시가 조용히 잘려 어떤 비밀번호도 일치하지 않습니다.

기본 인증은 사용자 이름과 비밀번호를 인코딩하지만 암호화하지 않은 상태로 모든 요청에 함께 전송합니다. HTTPS 뒤에 배치하고, 고객용 로그인 시스템이 아니라 스테이징 사이트와 관리자 경로를 위한 출입문으로 사용하십시오.

사용 방법

  1. 사용자 이름과 비밀번호를 입력합니다.
  2. 특별한 이유가 없다면 알고리즘을 Apache MD5로 유지합니다.
  3. 생성된 행을 .htpasswd 파일에 복사합니다.

개인정보 보호 및 제한사항

비밀번호는 브라우저에서 해시되며 어디에도 전송되지 않습니다. 어떤 데이터도 기록되지 않으며, 솔트는 브라우저 자체의 암호학적 난수 소스에서 생성됩니다. 따라서 같은 비밀번호로 행을 생성해도 두 사람이 동일한 해시를 얻지 않습니다.

관련 도구

자주 묻는 질문

어떤 알고리즘을 선택해야 하나요?

여기에서 기본값으로 사용하는 Apache MD5($apr1$)를 선택하십시오. 이 알고리즘은 솔트와 반복 처리를 사용하며 Apache와 nginx가 모두 지원합니다. {SHA} 옵션은 이를 요구하는 오래된 설정을 위해서만 유지되는 솔트 없는 SHA-1 다이제스트입니다. Apache의 자체 htpasswd 도구도 이 옵션을 안전하지 않다고 표시합니다. 동일한 비밀번호가 동일한 해시를 생성하며 조회 테이블로 해독할 수 있기 때문입니다.

bcrypt만큼 강력한가요?

아닙니다. bcrypt가 더 강력한 선택이고 Apache도 이를 지원하지만, 여기에서는 생성할 수 없습니다. 신뢰할 수 있는 Blowfish 구현을 제공하려면 많은 코드를 배포해야 하기 때문입니다. bcrypt를 사용하려면 로컬에서 htpasswd -B -n username password를 실행한 뒤 결과를 붙여 넣으십시오.

사용하기 전에 행을 확인할 수 있나요?

예. 확인하는 것이 좋습니다. 행을 파일에 저장한 뒤 htpasswd -vb yourfile username password를 실행하십시오. Apache가 해당 행의 인증 성공 여부를 알려 줍니다. 이 행은 htpasswd와 openssl passwd -apr1 모두를 기준으로 검증됩니다.

무료 도구 · 브라우저에서회 실행 · 계정 불필요