Nginx安全配置

54 阅读1分钟

禁用server_tokens

server {      
  listen 192.168.1.250:80;    
  server_tokens off;    
  server_name mingongge.com www.mingongge.com;    
  access_log /var/www/logs/mingongge.access.log;    
  error_log /var/www/logs/mingonggex.error.log error;    
  root /var/www/mingongge.com/public_html;    
  index index.html index.htm;
}                                        // 重启 Nginx 后生效:
  1. access_log /var/www/logs/mingongge.access.log

    • 指定Nginx服务器的访问日志文件的路径。
    • mingongge.access.log记录所有对网站的访问请求。
  2. error_log /var/www/logs/mingonggex.error.log error

    • 指定服务器的错误日志文件的路径。
    • mingonggex.error.log error记录错误日志文件。
  3. index index.html index.htm

    • 指定默认的索引文件,Nginx将返回index.html/index.htm文件作为默认主页。

阻止图片外链

location /img/ {      
  valid_referers none blocked 192.168.1.250;        
  if ($invalid_referer) {          
    return 403;      
  }
}
  1. valid_referers none blocked 192.168.1.250

    • 用于检查请求的Referer头信息,以确定请求来源是否有效。
    • none没有Referer头信息,即请求直接访问/img/资源。
    • blobked表示Referer头信息被防火墙/其他安全机制阻止/隐藏。
    • 192.168.1.250表示请求来自特定的IP地址192.168.1.250,可能是一个内部网络地址/特定的客户端地址。
  2. $invalid_referer

    • 如果请求的Referer头信息与valid_referers列出的有效来源都不匹配。

禁掉不需要的HTTP方法

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

客户端请求的方法不是GETHEAD/POST,服务器将返回444状态码,表示请求未被处理。

禁掉SSL只打开TLS

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_protocols后跟着一个协议列表,代表服务器能够接收的SSL/TLS协议版本。