隐藏版本号

http {
server_tokens off;
}

开启HTTPS

server {
listen 443;
server_name ops-coffee.cn;

ssl on;
ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
}
  • ssl on: 开启https
  • ssl_certificate: 配置nginx ssl证书的路径
  • ssl_certificate_key: 配置nginx ssl证书key的路径
  • ssl_protocols: 指定客户端建立连接时使用的ssl协议版本,如果不需要兼容TSLv1,直接去掉即可
  • ssl_ciphers: 指定客户端连接时所使用的加密算法,你可以再这里配置更高安全的算法

添加黑白名单

#白名单配置

location /admin/ {
allow 192.168.1.0/24;
deny all;
}

#黑名单配置

location /ops-coffee/ {
deny 192.168.1.0/24;
allow all;
}

更多的时候客户端请求会经过层层代理,我们需要通过$http_x_forwarded_for来进行限制,可以这样写

set $allow false;
if ($http_x_forwarded_for = “211.144.204.2”) { set $allow true; }
if ($http_x_forwarded_for ~ “108.2.66.[89]”) { set $allow true; }
if ($allow = false) { return 404; }

添加账号认证

server {
location / {
auth_basic “please input user&passwd”;
auth_basic_user_file key/auth.key;
}
}

限制请求方法

if ($request_method !~ ^(GET|POST)$ ) {
return 405;
}

拒绝User-Agent

if ($http_user_agent ~* LWP::Simple|BBBike|wget|curl) {
return 444;
}

图片防盗链

location /images/ {
valid_referers none blocked www.ops-coffee.cn ops-coffee.cn;
if ($invalid_referer) {
return 403;
}
}

location /images/ {
valid_referers blocked www.ops-coffee.cn ops-coffee.cn
if ($invalid_referer) {
rewrite ^/images/.*.(gif|jpg|jpeg|png)$ /static/qrcode.jpg last;
}
}

Leave a Reply