零基础服务器个人信息保护配置:安全头

为什么需要个人信息保护配置?

用户提交的姓名、邮箱、手机号等数据,在传输和存储过程中容易被截取或滥用。
通过合理配置服务器端的 HTTP 响应头、强制 HTTPS 传输、以及加固 Cookie 设置,能极大降低数据泄露风险。
本文围绕 Nginx 展开操作,其他 Web 服务器(Apache、Caddy)原理相同,命令可对应调整。

操作前准备

  • 一台已部署 Nginx 的服务器(建议 Ubuntu 20.04 以上)
  • 拥有 root 或 sudo 权限
  • 已解析并绑定的域名(用于 SSL 证书)
  • 可选的文本编辑器(如 nano 或 vim)

如果还未安装 Nginx,可先执行:

sudo apt update
sudo apt install nginx -y

分步配置个人信息保护

1. 添加安全响应头

打开 Nginx 主配置文件 /etc/nginx/nginx.conf(或对应站点配置 /etc/nginx/sites-available/your_site),
server 块中添加以下内容:

server {
    # 已有配置...

    # 禁止页面被嵌入外部 iframe
    add_header X-Frame-Options "SAMEORIGIN" always;

    # 阻止浏览器嗅探非脚本文件的 MIME 类型
    add_header X-Content-Type-Options "nosniff" always;

    # 启用浏览器 XSS 过滤器(部分现代浏览器已不推荐,保留兼容)
    add_header X-XSS-Protection "1; mode=block" always;

    # 限制页面内资源的加载来源(此处示例为严格策略,按需调整)
    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'" always;

    # 禁止 HTTP Referer 头泄露完整路径
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;
}

保存后执行 sudo nginx -t 测试配置是否正确,无误后 sudo systemctl reload nginx 生效。

2. 启用 HTTPS 与 HSTS

使用 Certbot 申请免费 SSL 证书,并自动配置 HSTS:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

证书获取后 Certbot 会自动修改 Nginx 配置并开启 HTTPS。
手动确认 HSTS 未开启时可追加:

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;
注意:HSTS 一旦设置,浏览器会强制 HTTPS 访问,撤销需等 max-age 过期。建议先在测试环境验证。

3. 加固 Cookie 安全属性

如果网站使用会话 Cookie(如 PHP 的 PHPSESSID),在 Nginx 中统一添加 Secure 和 HttpOnly 标志。
修改站点配置文件,增加以下指令:

proxy_cookie_path / "/; secure; HttpOnly; SameSite=Lax";

若使用 PHP-FPM,也可在 php.ini 中设置:

session.cookie_secure = 1
session.cookie_httponly = 1
session.cookie_samesite = "Lax"

避坑指南

  • add_header 继承问题:如果在 location 块内也使用了 add_header,它会覆盖 server 块的头部。推荐只在 server 块统一设置,或使用 add_headeralways 参数。
  • Content-Security-Policy 不要直接复制:一定要根据站内资源(如图片 CDN、字体、分析脚本)自行修改 script-srcimg-src 等来源,否则可能导致页面功能异常。
  • HSTS 预加载:如果需要提交到 HSTS preload list,必须设置 includeSubDomainsmax-age 不小于 31536000。但提交后无法撤销,务必谨慎。
  • 混合内容:开启 HTTPS 后,如果页面内引用 HTTP 资源(图片、JS),会被浏览器拦截。请检查网站全部内嵌资源是否改为 HTTPS。

效果验证

重启 Nginx 后,可使用以下方法验证配置是否生效:

  • 命令行检查
curl -I https://yourdomain.com | grep -E "(X-Frame|X-Content|Strict-Transport|Referrer)"

应看到类似输出:

X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=63072000; includeSubDomains
Referrer-Policy: strict-origin-when-cross-origin
  • 在线检测工具:访问 securityheaders.com 输入域名,会得到安全评级和详细报告。Secure Cookie 可通过浏览器的开发者工具 > Application > Cookies 查看有无 Secure 和 HttpOnly 标志。

以上就是一套基础的服务器端个人信息保护配置方案。
如果遇到证书续签、策略冲突或脚本被拦截,可以先关闭 Content-Security-Policy 逐步调试,或检查 Nginx 错误日志 /var/log/nginx/error.log
对于已有生产环境,建议先在测试站点验证再上线。

需要更深入的隐私合规配置(如 GDPR 要求的用户数据导出、删除接口),可继续参考本站相关教程。

分享到:
上一篇
零基础搭建GDPR合规服务器:从选型到配置的完整步骤
下一篇
服务器费用优化实操:零基础也能懂的降本指南
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意