我正在 Elastic Beanstalk 上部署一个 Windows / .NET MVC 应用程序,并设法克服了除一个之外的大多数挑战。
有问题的 webapp 在其当前部署位置的子文件夹中为二进制资产创建本地缓存,为此,我需要为 IIS_IUSRS 组添加权限以读取/写入该文件夹。
经过长时间的反复试验,我现在有了一个似乎有效的解决方案,但我不能 100% 确定它的“合法性”......
在 MVC 解决方案中,我创建了一个名为“.ebextensions”的文件夹,并在其中创建了一个名为“eb.config”的 yaml 文件。
在这个文件中,我基本上创建了 2 个批处理文件,我部署到 c:\temp - 第一个批处理文件检查 C:\Program Files\Amazon\ElasticBeanstalk\hooks\appdeploy\post 中是否已经有第二个文件的副本,如果没有,复制到那里。
第二个批处理文件为此“BinaryData”文件夹设置所需的 ACL。Elastic Beanstalk 执行它在上面提到的文件夹中找到的任何批处理文件,现在这似乎可以解决问题。
我一直没能找到任何关于如何“正式”实现这一点的文档,并从这篇博文中发现了这个技巧。
关于如何以“更清洁”的方式实现这一目标的任何建议将不胜感激。