1、为什么要限制用户访问
对于大流量恶意的攻击访问,会带来带宽的浪费、服务器流量异常和服务器负载过大的问题,影响正常业务。所以我们考虑对同一个ip的连接数、并发数进行限制,以避免这种问题。
2、如何限制用户访问
- 修改nginx配置文件:
[root@server1 nginx]# cat conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
limit_conn_zone $binary_remote_addr zone=addr:10m; ##IP传输开销大小是10M内存
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ##1s中不超过一个请求
server {
listen 80;
server_name www.yang.org;
location / {
root html;
index index.html index.htm;
}
location /download{
limit_conn addr 1; ##只能一个并发,多了会报错
#limit_rate 50k; ##限制带宽,每秒最多50k
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
[root@server1 nginx]# nginx -t ##检查语法错误
[root@server1 nginx]# nginx -s reload ##重新加载配置文件
- 测试:
[root@server1 nginx]# mkdir /usr/local/nginx/html/download
[root@server1 nginx]# mv 47b2782dc51aa2eeae8b007ed17d9b7d.jpg yang.jpg
[root@foundation60 images]# ab -c 5 -n 1000 http://www.yang.org/download/yang.jpg
[root@server1 nginx]# cat logs/access.log ##查看日志有503报错
3、为什么要进行网页压缩
- 在实际的企业当中,Nginx服务器上的资源要尽可能的少占用空间。而信息量大的网页和高清图片会占用很大的存储空间,这样不利于服务器性能的优化,因此我们需要在服务器上将网页和图片进行压缩,再客户需要时去下载对应的就好。
- 图片过大会导致网页加载速度变慢,消耗用户大量的流量。
4、如何实现网页压缩
- 编辑Nginx服务的配置文件:
[root@server1 nginx]# vim conf/nginx.conf
load_module modules/ngx_http_image_filter_module.so; # 加载模块
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#limit_conn_zone $binary_remote_addr zone=addr:10m;
#limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
listen 80;
server_name www.yang.org;
#set_real_ip_from 172.25.60.2;
#real_ip_header X-Forwarded-For;
#real_ip_recursive on;
location / {
root html;
index index.html index.htm;
}
location /download{
# limit_conn addr 1;
#limit_rate 50k;
image_filter resize 150 100; ##重新调整图片尺寸
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
[root@server1 nginx]# nginx -t ##语法检测
[root@server1 nginx]# nginx -s reload ##重新加载配置文件
- 测试:
##查看图片本来的大小:
[root@server1 nginx]# du -sh html/download/yang.jpg
网页搜索172.25.254.51/download/yang.jpg
—>按F12—>选择network—>按F5刷新—>查看图片大小
可以发现图片被压缩了!