微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在单个cloudfront域路径下服务的多个netlify静态站点

如何解决在单个cloudfront域路径下服务的多个netlify静态站点

我有多个netlify静态站点,我希望在一个Cloudfront域的路径下全部提供这些静态站点。但是,不提供不在netlify应用程序根目录中的资源(提供404)

https://netlify1-abcd123.netlify.app/

  • /
  • /第1页
    • / page1 / subpage1
  • / page2
  • /images/logo.png
  • /stylesheets/styles.css

https://netlify2-defg456.netlify.app/

  • /
  • / netlify2-page1
    • / netlify2-page1 / subpage1
  • / netlify2-page2
  • /netlify2-images/logo.png
  • /netlify2-stylesheets/styles.css

,我希望将它们放在#include <mpi.h> #include<stdlib.h> #include<stdio.h> int main( int argc,char *argv[]) { MPI_Init(&argc,&argv); MPI_Win win; MPI_Comm MPI_COMM_SHM; int rank; long int mb = 0; double* bufptr; MPI_Comm_rank( MPI_COMM_WORLD,&rank ); int MB = 10000; if(rank==0) mb = MB*1e6/sizeof(double); MPI_Comm_split_type( MPI_COMM_WORLD,MPI_COMM_TYPE_SHARED,MPI_INFO_NULL,&MPI_COMM_SHM); MPI_Aint size_bytes,size_of_T,lb; MPI_Info infoAlloc; MPI_Info_create( &infoAlloc ); MPI_Info_set( infoAlloc,"alloc_shared_noncontig","true" ); MPI_Type_get_extent(MPI_DOUBLE_PRECISION,&lb,&size_of_T); size_bytes = mb*size_of_T; int disp_unit = size_of_T; printf("%size when sending:===> bytes: %ld nelem: %ld %ld\n",size_bytes,mb,size_of_T); MPI_Win_allocate_shared( size_bytes,disp_unit,infoAlloc,MPI_COMM_SHM,&bufptr,&win); double *rbuf; MPI_Aint rsize; int disp; if(rank != 0) { MPI_Win_shared_query(win,&rsize,&disp,&rbuf); printf("Receiving sizes %d %ld %ld\n",rank,rsize,rsize/disp); } MPI_Finalize(); } www.mydomain.com/netflify1下。当前www.mydomain.com/netlify2的根是通过S3静态站点提供的。

我已经在netlify.toml中为每个站点配置了重写规则(根据www.mydomain.com进行了相应更改),如下所示:

netlify2

...,然后将一个Origin的原始域名添加到Cloudfront中,该域名的原始域名为[[redirects]] from = "/netlify1/*" to = "https://netlify1-abcd123.netlify.app/:splat" status = 200 force = true -其他所有Origin设置均为认设置。

然后,我用路径模式https://netlify1-abcd123.netlify.app/配置了一个指向netlify1起点的行为。请注意,我无法使用netlify1的行为,因为Default的主要索引是通过S3上托管的静态站点提供的。

在为我的netlify应用程序的根www.mydomain.com提供服务时,这一切都很好。我可以导航到/并查看我的netlify应用程序的主页。但是,netlify上www.mydomain.com/netlify1以外的任何内容都不会得到提供。

我从开发人员工具中看到,尝试加载图像和样式时,正在向/www.mydomain.com/images/logo.png发出请求。这会返回404,因为(我认为)它们没有被任何Cloudfront Behavior或Netlify重写规则所吸收。

所以我的问题是。如何使图像,样式表和任何不在netlify应用程序根目录下的页面正常工作?我可以通过在Cloudfront上手动添加每个潜在路径作为“行为”来使它起作用(例如,将行为模式配置为www.mydomain.com/stylesheets/styles.css的路径模式以指向“ /images/*起源”),但这似乎没有可扩展甚至正确的。

我不知道是否需要在构建过程中以某种方式在netlify应用程序上重写我的所有URL,以使它们变为netlify1/netlify1/images而不是/netlify/page1和{{1} }(netlify应用程序是使用Sphinx文档构建的文档),或者是否需要通过Lambda @ Edge中的重写规则来处理。我完全迷住了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。