nginx 다운로드 서버
3003 단어 nginx
nginx 의 wiki 역 에서 제3자 모듈 ngx 를 알 게 되 었 습 니 다.http_accesskey_module, 자체 테스트 를 통 해 효과 적 인 도 난 방지 체인, 특히 파일 다운로드 소의 도 난 방지 체인 에 매우 효과 적 입 니 다.
이 모듈 에 관 한 문 서 는 여기 서 보 세 요. http://wiki.codemongers.com/NginxHttpAccessKeyModule
1. NginxHttpAccessKeyModule 모듈 파일 다운로드: Nginx-accesskey-2.0.3.tar.gz;
2. 이 파일 의 압축 을 풀 고 nginx - accesskey - 2.0.3 의 config 파일 을 찾 습 니 다.
이 파일 편집: "$HTTP" 바 꾸 기ACCESSKEY_MODULE 은 "ngx" 입 니 다.http_accesskey_module”
3. 인자 로 nginx 를 다시 컴 파일 합 니 다.
shell> ./configure --add-module=path/to/nginx-accesskey
4. nginx 의 conf 파일 을 수정 하고 다음 과 같은 몇 줄 을 추가 합 니 다. location /download {
accesskey on;
accesskey_hashmethod md5;
accesskey_arg "key";
accesskey_signature "mypass$remote_addr";
}
그 중에서 accesskey 는 모듈 스위치 입 니 다.accesskey_hashmethod 는 암호 화 방식 MD5 또는 SHA - 1 입 니 다.accesskey_arg 는 url 의 키워드 인자 입 니 다.accesskey_signature 는 암호 화 값 입 니 다. my pass 와 방문 IP 로 구 성 된 문자열 입 니 다.테스트 스 크 립 트 download. php 에 접근:
$ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']);
$output_add_key="<a href=http://xx/download/xx.rar?key=".$ipkey.">download_add_key</a><br />";
$output_org_url="<a href=http://xx/download/xx.rar>download_org_path</a><br />";
echo $output_add_key;
echo $output_org_url;
?>
원 리 는:
받 아들 인 매개 변수 값 을 통 해 접근 이 합 법 적 인지 판단 합 니 다.여기에 MD5 암호 화 알고리즘 이 한 세트 있다.프론트 데스크 톱 의 웹 페이지 는 사용자 의 IP 에 따라 MD5 값 을 만 들 고 백 엔 드 의 WEB SERVER 는 이 MD5 를 판단 하고 맞 으 면 놓 습 니 다.아니면 거절.브 라 우 저 에서 물리 파일 에 직접 접근 하면 열 수 없습니다.
내 download 디 렉 터 리 아래 file. zip 파일 이 있 습 니 다.대응 하 는 URI 는...http://xx/download/file.zip
사용 ngxhttp_accesskey_모듈 모듈 후http://xx/download/file.zip?key=09093abeac094. 주어진 키 값 이 정확 해야만 다운로드 디 렉 터 리 의 file. zip 를 다운로드 할 수 있 습 니 다.또한 키 값 은 사용자 의 IP 와 관련 된 것 이기 때문에 도 난 을 피 할 수 있 습 니 다.
nginx 의 스 레 드 제한 과 대역 폭 제한
여기 nginx 의 표준 모듈 ngx 가 있 습 니 다.http_limit_zone_module,
이 모듈 은 조건 에 따라 세 션 의 병렬 연결 수 를 제어 할 수 있 습 니 다.
http {
limit_zone one $binary_remote_addr 10m; \ # 정의 one
server {
location /download/ {
limit_conn one 1; #ip 클 라 이언 트, 최대 2 개의 병렬 스 레 드
limit_rate
32k; #스 레 드 당 최대 다운로드 속도
}
if ($request_method !~* ^(GET)$ ) { #get 방식 만 요청 가능, 기타 접근 방식 403
return 403;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.