nginx 中Content-Security-Policy正确配置方式
时间: 2023-11-30 08:42:33 浏览: 32
在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缺失的问题,可以按照以下步骤进行操作:
1.打开nginx配置文件,一般位于/etc/nginx/nginx.conf。
2.在http块中添加以下内容:
```nginx
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; object-src 'none'; media-src 'self'; frame-src 'self'; base-uri 'self'; form-action 'self';";
```
3.保存并关闭文件。
4.重新加载nginx配置文件:
```shell
sudo nginx -s reload
```
这样就可以解决nginx配置Content-Security-Policy缺失的问题了。