nginx 添加 Content-Security-Policy 写法
时间: 2024-07-19 09:00:51 浏览: 131
ingress-nginx-controller-1.9.yaml
在 Nginx 中添加 `Content-Security-Policy` (CSP) 是为了增强网站的安全性,通过限制客户端能访问的内容来源。CSP 允许开发者声明哪些资源(如脚本、样式表、图片等)可以从何处加载。基本的配置语法通常包含在 HTTP响应头的 `Content-Security-Policy` 字段中。例如,一个基础的CSP设置可能会像这样:
```nginx
server {
listen 80;
server_name yourdomain.com;
# 设置 CSP 规则
add_header Content-Security-Policy "default-src 'self'; script-src 'nonce-YOUR_TOKEN_HERE'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font- `default-src`: 定义默认内容源,`'self'` 表示只允许来自当前域内的资源。
- `script-src`: 指定JavaScript脚本的来源,这里设置了 `nonce-YOUR_TOKEN_HERE`,这是一个随机生成的值,用于防止跨站脚本攻击(XSS),每次请求都会改变,服务器端验证这个值才能执行。
- `style-src`: 类似于 `script-src`,但这里是处理内联样式。
- `img-src`: 定义图片来源,除了 `self` 和 `data:` 协议外,不允许其他外部图片。
- `font-src`: 设置字体来源。
- `object-src`: 控制嵌入式对象(如Flash)的加载。
阅读全文