如何在Cloud Foundry Staticfile Buildpack中配置CORS策略以添加缺少的';访问控制允许原点';标题
当我尝试使用访问Cloud Foundry上托管的JavaScript文件时,我的浏览器拒绝加载该文件,并在控制台中显示错误消息: CORS策略已阻止从源“…”访问“…”处的脚本:请求的资源上不存在“Access Control Allow origin”标头 如何在Cloud Foundry Staticfile Buildpack中配置跨源资源共享(CORS)?要使用Staticfile Buildpack设置CORS:如何在Cloud Foundry Staticfile Buildpack中配置CORS策略以添加缺少的';访问控制允许原点';标题,cors,cloud-foundry,static-files,Cors,Cloud Foundry,Static Files,当我尝试使用访问Cloud Foundry上托管的JavaScript文件时,我的浏览器拒绝加载该文件,并在控制台中显示错误消息: CORS策略已阻止从源“…”访问“…”处的脚本:请求的资源上不存在“Access Control Allow origin”标头 如何在Cloud Foundry Staticfile Buildpack中配置跨源资源共享(CORS)?要使用Staticfile Buildpack设置CORS: 创建一个名为Staticfile的文件,其内容如下: root: p
Staticfile
的文件,其内容如下:
root: public
location_include: includes/*.conf
add_header 'Access-Control-Allow-Origin' '*';
public
文件夹中
nginx/conf/includes/headers.conf
(及其父文件夹):
root: public
location_include: includes/*.conf
add_header 'Access-Control-Allow-Origin' '*';
cf推送之后
,将设置CORS标题
要了解更多信息,请参见官方代码示例
解释
截至年月日:
如果您创建一个名为Staticfile
的文件,并将其定位在应用程序的构建目录中,则Cloud Foundry会在推送应用程序时自动使用Staticfile buildpack
(这意味着您不需要在manifest.yml
中指定静态文件\u buildpack
)
然后按照下面的说明进行操作
自定义位置允许您使用其他指令指定自定义位置定义
要自定义NGINX配置文件的位置块,请执行以下步骤
根目录。location\u include
属性仅与可选的root
一起使用
X-MySiteName
HTTP头:
- 文件:
nginx/conf/includes/custom_header.conf
- 内容:
add_头X-MySiteName-BestSiteEver代码>
location\u include
变量设置为上一步中文件的路径。此路径相对于nginx/conf
例如:
root: public
location_include: includes/*.conf
一段历史-通过这个故事,它被实现到了静态构建包中- 针对BuildPack团队提出了类似的问题- 请参阅以下示例应用程序,了解如何配置任何其他自定义标题-
然后,您还可以添加特定于CORS的响应头(允许的主机和允许的方法)看起来您的答案在位置末尾有输入错误,还有其他“%”无法使用。相反,它应该只是“location\u include:includes/*.conf”。这很有效。我一直在找这个。非常感谢。谢谢@KBJ,答案已相应编辑!