nginx 中Content-Security-Policy正确配置方式
时间: 2023-11-30 07:42:33 浏览: 174
在nginx中正确配置Content-Security-Policy的方式是在nginx.conf配置文件中增加如下内容:
```
add_header Content-Security-Policy "default-src 'self' localhost:8080 'unsafe-inline' 'unsafe-eval' blob: data: ;";
```
其中,`default-src`指定了默认的资源加载策略,`'self'`表示只允许加载同源的资源,`localhost:8080`表示允许加载指定的域名和端口的资源,`'unsafe-inline'`和`'unsafe-eval'`表示允许执行内联脚本和动态脚本,`blob:`和`data:`表示允许加载blob和data类型的URL资源。
相关问题
nginx 配置Content-Security-Policy
要在 Nginx 中配置 Content-Security-Policy,需要在服务器的配置文件中添加以下代码:
```
add_header Content-Security-Policy "default-src 'self' https: data: 'unsafe-inline' 'unsafe-eval';";
```
这个配置中,`default-src` 指定了默认的资源加载策略,`'self'` 表示只允许加载同源资源,`https:` 表示只允许加载 HTTPS 资源,`data:` 表示允许加载数据 URI,`'unsafe-inline'` 表示允许内联脚本和样式,`'unsafe-eval'` 表示允许使用 eval() 函数。
在实际使用中,你可以根据自己网站的需要,调整 CSP 的配置,以保护网站的安全性。
nginx配置Content-Security-Policy
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`指令后面可能会跟一些选项来指定具体的行为。
阅读全文