INFO:我正在开发一个使用php构建的应用程序,该应用程序可以帮助用户创建HTML模板并将其发布在Web上。由于模板是静态的,因此我想到使用Amazon S3来存储它们,因为它可以承载静态网站并且总体上具有良好的基础架构用于应用程序。br/>
查询:将其发布到Web时遇到问题。我希望模板作为域中的子域发布,例如:我拥有www.ABC.com,请用户命名模板,如果他将其命名为mysite,我将其模板发布为mysite.ABC.com(适用于所有用户)。现在,我可以使用putObjectFile
aws s3 api将模板存储在S3存储桶中,但是我不确定如何创建一个subdomain(即时)并将其发布到该域。(我想为用户自动化该过程)。另外,我可以像hosting static website
使用API一样使存储桶吗?
早先,我使用cpanel和cpanel API允许我们创建域并使用内容对域进行FTP,但我不清楚如何在此处实现。
研究:到目前为止,我已经获得的成功是,我使用S3控制台托管了一个站点。使用AWS服务,我已将文件移动到bucket
名称与用户的子域相同的文件。我现在想拥有存储桶端点更改为子域。
参考: 这个网站也做同样的事情,他们创建一个类似结构的目录并在Web上发布该网站。我不知道他们是否将其托管在Amazon上,但我想实现类似的目标。希望我很清楚并得到一些指导。
谢谢您的关注
一段时间之前,我研究了类似的情况,但是由于S3的限制,我无法为此使用S3。
要在自定义域或子域的S3上托管静态网站,您需要创建一个名称与该域匹配的存储桶。而且,由于每个S3帐户最多只能有100个存储桶,因此您只能在一个帐户中托管许多域或子域。
根据您描述的用例,我怀疑此S3限制还会迫使您寻找其他解决方案。
就我而言,解决方案是设置一个EC2实例,该实例在重写请求后将请求代理到S3。例如,如果有人要求:
http://mysite.abc.com/file.html
它通过我们的EC2服务器,在该服务器中,请求被重写并转发给S3,如下所示:
http://ourbucket.s3.amazonaws.com/mysite.abc.com/file.html
更新:
您可以为此使用多个代理服务器,但是我建议使用nginx,因为它在我们的案例中效果很好。首先,请查看以下nginx文档:
http://wiki.nginx.org/HttpRewriteModule
http://wiki.nginx.org/HttpProxyModule
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句