通过宝塔面板进行Nginx服务器的安全设置,不需要手动编辑复杂的配置文件,借助面板的可视化功能就能完成多项安全防护操作,大幅降低操作门槛,适合不同技术水平的用户使用。

隐藏Nginx版本信息
默认的Nginx配置会暴露版本号,攻击者可以通过版本信息针对性寻找漏洞,首先需要关闭版本显示。在宝塔面板左侧菜单点击软件商店,找到已安装的Nginx,点击设置按钮,进入配置修改页面。
在配置文件中找到http块,添加或修改以下配置项:
http {
# 关闭版本号显示
server_tokens off;
# 隐藏具体版本信息
more_set_headers "Server: Unknown";
}
修改完成后点击保存,再点击重载配置即可生效,此时访问站点返回的响应头中就不会显示Nginx的具体版本了。
配置访问限制
可以通过宝塔面板的站点配置功能,限制特定目录或者IP的访问权限,减少不必要的暴露面。
限制敏感目录访问
进入宝塔面板网站菜单,选择需要设置的站点,点击设置,找到配置文件选项。比如要禁止访问站点下的admin目录,添加如下配置:
location /admin {
# 禁止所有IP访问
deny all;
# 如果需要允许特定IP,可以添加 allow 192.168.0.1; 再配合 deny all
}
限制IP访问
如果需要禁止某个恶意IP访问全站,可以在Nginx的配置修改页面的http块中添加:
http {
# 禁止单个IP
deny 192.168.0.100;
# 禁止IP段
deny 10.0.0.0/24;
# 允许所有其他IP
allow all;
}
设置SSL证书与HTTPS强制跳转
启用HTTPS可以加密传输数据,避免数据被窃听。在宝塔面板网站设置中,点击SSL选项,可以选择申请免费的Let's Encrypt证书,填写域名后点击申请即可自动部署。
部署完成后,开启强制HTTPS跳转,宝塔会自动在站点配置中添加跳转规则,也可以手动在配置文件中添加:
server {
listen 80;
server_name example.ipipp.com;
# 强制跳转到HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name example.ipipp.com;
# 证书路径,宝塔默认路径如下
ssl_certificate /www/server/nginx/conf/cert/example.ipipp.com/fullchain.pem;
ssl_certificate_key /www/server/nginx/conf/cert/example.ipipp.com/privkey.pem;
# SSL安全配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
}
配置请求频率限制
限制单个IP的请求频率可以有效防范CC攻击,在宝塔Nginx配置修改页面的http块中添加限流配置:
http {
# 定义限流区域,每秒最多10个请求
limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;
server {
location / {
# 应用限流规则,突发最多20个请求
limit_req zone=req_limit burst=20 nodelay;
}
}
}
这里的10m是存储限流状态的共享内存大小,rate=10r/s表示每秒最多处理10个请求,burst=20表示允许突发20个请求排队,nodelay表示超过限制的请求直接返回503错误。
禁用不必要的HTTP方法
除了GET和POST之外,其他HTTP方法如DELETE、PUT等如果没有使用需求,可以直接禁用,减少攻击面。在站点配置中添加:
location / {
# 只允许GET、POST、HEAD方法
if ($request_method !~ ^(GET|POST|HEAD)$ ) {
return 403;
}
}
定期更新Nginx版本
宝塔面板会定期推送Nginx的版本更新,修复已知的安全漏洞。在软件商店的Nginx页面,如果有更新提示,点击更新即可,更新前建议先备份站点配置和网站数据,避免更新过程中出现意外。
完成以上所有设置后,重载Nginx配置,所有安全规则就会生效。日常使用中也可以定期查看宝塔面板的访问日志和Nginx错误日志,及时发现异常访问行为并调整规则。
Nginx宝塔面板服务器安全nginx_security修改时间:2026-07-04 14:09:22