nginx配置Content-Security-Policy
时间: 2024-10-17 22:16:03 浏览: 42
Nginx的Content-Security-Policy (CSP) 配置允许网站管理员控制页面上可以加载的内容来源,以增强网页安全性和防止跨站脚本攻击。要在Nginx中启用CSP,你需要在服务器块(server block)的`http`或`location`上下文中添加`content-security-policy`指令。下面是一个基本的例子:
```nginx
server {
listen 80;
server_name yourdomain.com;
# 设置默认的Content Security Policy
add_header Content-Security-Policy "default-src 'self';
script-src 'self' https://ajax.googleapis.com;
style-src 'self' 'unsafe-inline';
img-src 'self' data:;";
# 如果有需要针对特定URL路径设置更详细的策略
location /api {
content-security-policy "script-src 'strict-dynamic'; frame-ancestors 'none';";
}
# 更多规则可以按需添加
}
```
在这个例子中:
- `default-src 'self'` 指定了默认的源来自当前域名及其子域。
- `script-src`、`style-src` 和 `img-src` 分别定义了JavaScript、内联样式和图片的源。
- `frame-ancestors 'none'` 禁止页面嵌套在其他帧中。
请注意,每行的政策声明之间通常用分号(`;`)隔开,每个`policy`指令后面可能会跟一些选项来指定具体的行为。
阅读全文