2013-07-16 29 views
6

mới vào trang web này vì vậy tôi sẽ giữ nó ngắn gọn:Chỉ cho phép một User-Agent, chặn phần còn lại trong nginx?

Tôi hiện có:

if ($http_user_agent ~* (A-certain-self-made-User-Agent-here)) { 
      return 200; 
    } 

Những hoạt động rất tốt. (Thử nghiệm bằng cách chuyển 200 đến 403).

Câu hỏi của tôi là: Có cách nào in:/etc/nginx/sites-enabled/default để làm cho nó chỉ cho phép ONE User-Agent và từ chối phần còn lại?

Tôi biết điều này có vẻ ngu ngốc, nhưng đó là điều tôi muốn làm, (nếu có thể). Giống như có lẽ đây ?:

if (http_user_agent ~*(user-agent)) { 
      return 200; 
    else 
      return 403; 
    } 

Trả lời

0

Bạn có thể thử như sau trong vị trí thích hợp

set $isallowed = ""; 
if ($http_user_agent = allowed_user_agent) { 
    set $isallowed "${isallowed}YES"; 
} 

if ($isallowed !~ YES) { 
    rewrite^http://yourserver.com permanent; 
} 
4
if ($http_user_agent !~* "A-certain-self-made-User-Agent-here") { 
    return 403; 
} 

đang hoạt động trên trang web của tôi.

+0

Điều này hoạt động hoàn hảo. Cảm ơn! – xxdesmus

Các vấn đề liên quan