我试图阻止和redirect到网站的所有stream量。 这是正确的方法吗?
编辑:我想阻止一些IP地址范围,并将其redirect到一个URL。
编辑:通过在nginx中阻止这是否阻止所有访问后端Apache,所以不再受到打击?
server { error_log /var/log/nginx/vhost-error_log warn; listen 1.2.3.4:80; server_name domain.com www.domain.com; access_log /usr/local/apache/domlogs/domain.com-bytes_log bytes_log; access_log /usr/local/apache/domlogs/domain.com combined; root /home/user/public_html; location / { deny 220.181.0.0/16; deny 124.115.0.0/16; deny 1.202.0.0/16; deny 208.115.0.0/16; deny 199.58.0.0/16; deny 220.181.0.0/16; deny 124.115.0.0/16; deny 83.149.0.0/16; deny 178.77.0.0/16; deny 65.55.0.0/16; deny 123.125.0.0/16; deny 82.128.0.0/16; deny 157.55.0.0/16; deny 199.0.0.0/8; deny 212.90.0.0/16; location ~.*\.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|html|htm|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso)$ { expires 1d; try_files $uri @backend; } error_page 405 = @backend; add_header X-Cache "HIT from Backend"; proxy_pass http://1.2.3.4:8081; include proxy.inc; } location @backend { internal; proxy_pass http://1.2.3.4:8081; include proxy.inc; } location ~ .*\.(php|jsp|cgi|pl|py)?$ { proxy_pass http://1.2.3.4:8081; include proxy.inc; } location ~ /\.ht { deny all; } }
什么是“阻止和redirect”对你意味着什么? 您发布的configuration不会做。 它有select地阻止一组特定的请求中心,但肯定不是“全部”。 如果uri匹配了一些后缀,那么它不会阻止它的服务从/home/user/public_html ,否则通过proxy_pass转发请求到一些后端。 它会否认每个请求与/.ht匹配的/.ht 。
如果你想redirect,你可以使用return指令返回一个301或302的状态,你也希望redirect的目标url。
要简单地阻止一切说:
location ^~ / { deny all; }
或者只是closures你的networking服务器:)