【发布时间】:2018-06-26 09:58:44
【问题描述】:
我已经快要放弃转向应用引擎了。
目前我无法从我的服务器访问任何静态文件,因为应用引擎设置了一些 content-security-policy 标头,而在本地或计算引擎上运行时我没有遇到这种情况。
我只是想访问我的静态文件夹。
错误:
The Content Security Policy directive 'default-src' contains 'frame-ancestors' as a source expression. Did you mean 'default-src ...; frame-ancestors...' (note the semicolon)?
响应标头:
alt-svc: quic=":443"; ma=2592000; v="43,42,41,39,35"
content-encoding: gzip
content-security-policy: default-src 'self' frame-ancestors 'self' https://console.cloud.google.com https://*.corp.google.com:* http://*.corp.google.com:*
content-type: text/html; charset=utf-8
date: Tue, 26 Jun 2018 09:53:17 GMT
server: nginx/1.10.3
status: 404
vary: Accept-Encoding
via: 1.1 google
x-content-type-options: nosniff
x-powered-by: Express
我可以看到 CSP 存在问题,但我不确定我需要做些什么来影响它...
我正在使用 Express 和 Nodejs 的灵活环境,并且应用程序正在托管 @https://my-project-dot-blha.appspot.com
更新: 虽然我可以看到这很可能是语法错误,但我正在尝试自己设置标头,但如果有人知道如何影响这些将成为王牌的应用引擎标头,我无法做到!
提前致谢。
【问题讨论】:
-
为什么使用 Express 来提供静态内容?当然这可以使用 Nginx 提供服务?
-
@ScottMcC 你的意思是使用 app.yaml 文件并在那里指定处理程序吗?但无论哪种方式,他们都支持这个cloud.google.com/appengine/docs/flexible/nodejs/…
-
还有 Scott 这会消除这个问题吗?还是说我在单独的计算实例上运行 Nginx?
-
你在 app.yml 中指定了 static_files 吗?
-
我没有使用 app.yaml 来提供文件 - express 正在这样做。在您部署应用程序之前,是否还会使用 app.yaml?
标签: express google-app-engine http-headers google-cloud-platform content-security-policy