防止MIME类型嗅探攻击:
add_header X-Content-Type-Options "nosniff" always;
防止点击劫持攻击:
add_header X-Frame-Options "SAMEORIGIN" always;
# 或完全禁止嵌入
add_header X-Frame-Options "DENY" always;
启用浏览器XSS过滤器(虽然现代浏览器已弃用,但仍有兼容价值):
add_header X-XSS-Protection "1; mode=block" always;
内容安全策略(根据实际需求调整):
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://trusted.cdn.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-src 'none'; object-src 'none';" always;
强制HTTPS安全传输:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
控制Referer头信息:
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
控制浏览器功能访问:
add_header Permissions-Policy "geolocation=(), midi=(), camera=(), usb=(), magnetometer=(), accelerometer=(), gyroscope=(), payment=()" always;
server_tokens off;
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 405;
}
add_header X-Content-Type-Options nosniff;
add_header X-Download-Options noopen;
server {
listen 443 ssl;
server_name example.com;
# SSL配置
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
# 安全头配置
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://trusted.cdn.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-src 'none'; object-src 'none';" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "geolocation=(), midi=(), camera=(), usb=(), magnetometer=(), accelerometer=(), gyroscope=(), payment=()" always;
# 隐藏服务器信息
server_tokens off;
# 其他配置...
}
curl -I https://yourdomain.com
- SecurityHeaders.io - Mozilla Observatory
always
参数确保错误响应也包含安全头这些配置可以显著提高网站的安全性,防止多种常见Web攻击。