nginx 도 난 방지 체인 튜 토리 얼 nginx 이미지 도 난 방지 체인 상세 설명

7500 단어
Nginx 는 매우 뛰어난 고성능 웹 과 역방향 프 록 시 서버 로 매우 좋 은 특성 을 가지 고 있다.높 은 연결 과 병행 하 는 상황 에서 Nginx 는 Apache 서버 의 좋 은 대체 품 이다. 현재 웹 서버 조사 에 따 르 면 Apache 가 Ngnix 를 떨 어 뜨리 고 상승 하 는 것 으로 나 타 났 다. Liux 에서 더 많은 서비스 업 체 들 이 Ngnix 를 선택 하여 Apache 를 포기 했다.Nginx 는 미국 에서 가상 호스트 장 사 를 하 는 사장 들 이 자주 선택 하 는 소프트웨어 플랫폼 중 하나 입 니 다. 50, 000 개의 동시 접속 수 에 대한 응답 을 지원 할 수 있 습 니 다. Nginx 가 저 희 를 위해 epoll and kqueue 를 개발 모델 로 선택 해 주 셔 서 감사합니다. 현재 중국 대륙 에서 nginx 사 이 트 를 사용 하 는 사용 자 는 시 나 닷 컴, 왕 이, 텐 센트 가 있 습 니 다. 또한 유명한 마이크로 사이트 Plurk 도 nginx 를 사용 하고 있 습 니 다.
 
일반적으로 자주 사용 하 는 방법 은 server 나 location 세그먼트 에 가입 하 는 것 입 니 다!valid_referers   none  blocked  www.hihi123.com  hihi123.com;
아래 의 예 를 들 어 none 은 빈 길 을 표시 합 니 다. 즉, 직접 방문 하 는 것 입 니 다. 예 를 들 어 브 라 우 저 에서 그림 Blocked 를 열 면 방화벽 에 표 시 된 길 을 표시 합 니 다 servernames 는 도 메 인 이름 입 니 다.0.5.33 이후 버 전에 서 는 모든 2 급 도 메 인 이름 을 *. hihi 123. com 으로 표시 할 수 있 습 니 다.
 
1. 서로 다른 파일 형식 에 대한
location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv)$ {
valid_referers none blocked *.765h.com 765h.com;
if ($invalid_referer) {
#rewrite ^/ http://www.765h.com/error.html;
return 403;
}
}

첫 번 째 줄: wma | gif | jpg | png | swf | flv
wma, gif, jpg, png, swf, flv 접미사 파일 에 대한 방 범 체인 두 번 째 줄 을 표시 합 니 다.그림 일 수도 있어 요.
 
2. 서로 다른 디 렉 터 리 에 대해
location /img/ {
root /data/img/;
valid_referers none blocked *.765h.com 765h.com;
if ($invalid_referer) {
rewrite ^/ http://www.765h.com/images/error.gif;
#return 403;
}
}

 이상 은 nginx 자체 의 도 난 방지 체인 기능 입 니 다.
 
3. nginx 의 제3자 모듈 ngxhttp_accesskey_module 에서 파일 을 다운로드 하 는 도 난 방지 체인 을 실현 합 니 다.
Nginx 와 nginx - http - access 모듈 설치
#tar zxvf nginx-0.7.61.tar.gz
#cd nginx-0.7.61/
#tar xvfz nginx-accesskey-2.0.3.tar.gz
#cd nginx-accesskey-2.0.3
#vi config
# HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESSKEY_MODULE" HTTP_MODULES="$HTTP_MODULES ngx_http_accesskey_module" ( bug)
#./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/root/nginx-accesskey-2.0.3

컴 파일 에 성공 하면 주 프로필 에 다음 과 같은 코드 를 추가 합 니 다:
server{ 
.....
location /download {
accesskey on;
accesskey_hashmethod md5;
accesskey_arg "key";
accesskey_signature "mypass$remote_addr";
}
}

/ 다운 로드 가 다운로드 한 디 렉 터 리 입 니 다.
 
프론트 데스크 톱 phop 에서 발생 하 는 다운로드 경로 형식 은:
1. http: / / * * * * * *. com / download / 1. zip? key = 이렇게 접근 이 인자 와 같 지 않 을 때 다른 사용자 가 열 었 을 때 나타 납 니 다: 403
 
NginxHttpAccessKeyModule 제3자 모듈, 실현 방법 은 다음 과 같 습 니 다.
1. Nginx HttpAccessKeyModule 모듈 파일 다운로드: Nginx - accesskey - 2.0.3. tar. gz;
 
2. 이 파일 의 압축 을 풀 고 nginx - accesskey - 2.0.3 의 config 파일 을 찾 습 니 다.이 파일 편집: "$HTTP ACCESSKEY MODULE" 를 "ngx http accesskey module" 로 바 꿉 니 다.
3. 인자 로 nginx 를 다시 컴 파일 합 니 다.
./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="$ipkey.">download_add_key
";
$output_org_url="download_org_path
";
echo $output_add_key;
echo $output_org_url;
?>

첫 번 째 download 방문add_key 링크 는 정상적으로 다운로드 할 수 있 습 니 다. 두 번 째 링크 downloadorg_path 는 403 Forbidden 오 류 를 되 돌려 줍 니 다.
번 거 로 움 을 두려워 하지 않 고 조건 부 로 이 루어 진다 면 Nginx HttpAccessKeyModule 이라는 것 을 추천 합 니 다.
그의 실행 방식 은 내 download 디 렉 터 리 아래 file. zip 파일 이 있 는 것 과 같다.대응 하 는 URI 는...http://www.765h.com/download/file.zip사용 ngxhttp_accesskey_모듈 모듈 후http://www.765h.com/download/file.zip?key=09093abeac094. 주어진 키 값 이 정확 해야만 다운로드 디 렉 터 리 의 file. zip 를 다운로드 할 수 있 습 니 다.또한 키 값 은 사용자 의 IP 와 관련 된 것 이기 때문에 도 난 을 피 할 수 있 습 니 다.
Nginx HttpAccessKeyModule 은 이제 천둥 도 막 을 수 있다 고 하 니 한번 시도 해 보 세 요.
다운로드: Nginx 0.8.51 안정 판 다운로드: nginx - 0.8.51, nginx / Windows - 0.8.51HttpAccessKeyModule 제3자 모듈 다운로드:http://wiki.nginx.org/images/5/51/Nginx-accesskey-2.0.3.tar.gz
 
회전:http://dansan.blogbus.com/logs/87953679.html

좋은 웹페이지 즐겨찾기