Geoserver 被内容安全策略阻止
Geoserver is getting blocked by Content Security Policy
我已经在我的 linux 机器上安装了 GeoServer,并且 运行 在 Nginx 代理之后。 GeoServer 网络界面工作正常。但是当我尝试创建一个新商店时,它不起作用。当我单击“浏览”按钮时,会打开一个模式。那是当错误消息打印到控制台时,它说
CSP error
Wicket.Ajax: Wicket.Ajax.Call.processEvaluation: Exception evaluating javascript: EvalError: call to eval() blocked by CSP, text: (function(){var e =
要在我的内容安全策略中添加什么才能让它发挥作用?我也在这里添加了我的域。但这也没有用。
这是我的 CSP:
add_header Content-Security-Policy "base-uri 'self'; default-src 'self'; img-src https 'self' https://amazon-bucket.s3.eu-west-2.amazonaws.com/ data:; object-src 'none'; require-trusted-types-for 'script'; script-src 'unsafe-inline' 'self' https://cdnjs.cloudflare.com https://unpkg.com; style-src 'unsafe-inline' 'self' https://fonts.googleapis.com https://fonts.gstatic.com https://cdnjs.cloudflare.com https://unpkg.com; font-src 'unsafe-inline' 'self' https://cdnjs.cloudflare.com https://fonts.googleapis.com https://fonts.gstatic.com https://unpkg.com";
更新:
我在 chrome
上注意到这个 TrustedHTML 分配错误
This document requires 'TrustedHTML' assignment.
TrustedHTML assignment error
对于第一个错误,您需要将 'unsafe-eval' 添加到 script-src。但请注意,每增加 'unsafe-*',您的 CSP 值就会减少。
TrustedHTML 不允许设置 innerHTML,如果要设置无格式文本,请改用 textContent。否则你应该使用 DOMPurify 或其他一些方法来确保 html 是可信的。
我已经在我的 linux 机器上安装了 GeoServer,并且 运行 在 Nginx 代理之后。 GeoServer 网络界面工作正常。但是当我尝试创建一个新商店时,它不起作用。当我单击“浏览”按钮时,会打开一个模式。那是当错误消息打印到控制台时,它说
CSP error
Wicket.Ajax: Wicket.Ajax.Call.processEvaluation: Exception evaluating javascript: EvalError: call to eval() blocked by CSP, text: (function(){var e =
要在我的内容安全策略中添加什么才能让它发挥作用?我也在这里添加了我的域。但这也没有用。
这是我的 CSP:
add_header Content-Security-Policy "base-uri 'self'; default-src 'self'; img-src https 'self' https://amazon-bucket.s3.eu-west-2.amazonaws.com/ data:; object-src 'none'; require-trusted-types-for 'script'; script-src 'unsafe-inline' 'self' https://cdnjs.cloudflare.com https://unpkg.com; style-src 'unsafe-inline' 'self' https://fonts.googleapis.com https://fonts.gstatic.com https://cdnjs.cloudflare.com https://unpkg.com; font-src 'unsafe-inline' 'self' https://cdnjs.cloudflare.com https://fonts.googleapis.com https://fonts.gstatic.com https://unpkg.com";
更新:
我在 chrome
上注意到这个 TrustedHTML 分配错误This document requires 'TrustedHTML' assignment.
TrustedHTML assignment error
对于第一个错误,您需要将 'unsafe-eval' 添加到 script-src。但请注意,每增加 'unsafe-*',您的 CSP 值就会减少。
TrustedHTML 不允许设置 innerHTML,如果要设置无格式文本,请改用 textContent。否则你应该使用 DOMPurify 或其他一些方法来确保 html 是可信的。