Amazon web services AWS CloudFront能否同时提供动态和静态内容?

Amazon web services AWS CloudFront能否同时提供动态和静态内容?,amazon-web-services,amazon-cloudfront,Amazon Web Services,Amazon Cloudfront,我们有一个基于Drupal7的电子商务网站,我正试图在AWS中托管该网站。我在想,AWS CloudFront可以同时用于静态和动态内容吗?也许,创造两个起源或者类似的东西?不过这只是一个猜测。 使用CDN的原因是为我们的js、css和图像服务。这些文件存储在EFS中。我没有选择S3,因为我发现它很麻烦,我需要在Drupal上安装另一个S3FS模块并对其进行配置。简言之,就是不想走那条路。此外,我所在的地区没有EFS,因此我不得不在爱尔兰托管该站点,因此需要CDN。 然而,是否可以在CloudF

我们有一个基于Drupal7的电子商务网站,我正试图在AWS中托管该网站。我在想,AWS CloudFront可以同时用于静态和动态内容吗?也许,创造两个起源或者类似的东西?不过这只是一个猜测。 使用CDN的原因是为我们的js、css和图像服务。这些文件存储在EFS中。我没有选择S3,因为我发现它很麻烦,我需要在Drupal上安装另一个S3FS模块并对其进行配置。简言之,就是不想走那条路。此外,我所在的地区没有EFS,因此我不得不在爱尔兰托管该站点,因此需要CDN。 然而,是否可以在CloudFront之外同时提供静态和动态内容

另一个问题是,CloudFront是否支持自签名证书?在测试期间,我创建了一个带有自签名证书的测试域,但当我将其提供给CloudFront时,它会抛出错误。我认为使用自签名是不可能的,是吗

顺便说一句,我有53点到Cloudfront DNS的路由

已更新

让我解释一下我执行的整个步骤:

  • 在chrome和我的系统中添加了自签名证书,现在我没有看到一个页面说它不安全。。在这里之前一切都很好。

  • 创建了具有以下设置的CloudFront:

  • 一般的

    起源

    行为

    CloudFront当前状态已启用并部署

  • 已在线路53中加载CloudFront。出于某种原因,它没有自动为一个名称命名,我不得不强制输入cloudfront DNS名称

  • 已安装的Drupal CDN模块

  • 模式设置为“源拉”,CDN映射具有带https的cLOUDfRONT url

    现在问题开始了:

    [root@ip-10-1-36-192 ec2-user]# curl https://xxxx.cloudfront.net
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <TITLE>ERROR: The request could not be satisfied</TITLE>
    </HEAD><BODY>
    <H1>ERROR</H1>
    <H2>The request could not be satisfied.</H2>
    <HR noshade size="1px">
    CloudFront wasn't able to connect to the origin.
    <BR clear="all">
    <HR noshade size="1px">
    <PRE>
    Generated by cloudfront (CloudFront)
    Request ID: Fvf4qfAwuzBRS4J_SA6p1I-UYnvqSuZxdvXV1E6HuGEMGOxWPeORsQ==
    </PRE>
    <ADDRESS>
    </ADDRESS>
    </BODY></HTML>You have new mail in /var/spool/mail/ec2-user
    
    [root@ip-10-1-36-192 ec2-user]# curl -Ik https://website.com
    HTTP/1.1 200 OK
    Cache-Control: no-cache, must-revalidate
    Content-Language: en
    Content-Type: text/html; charset=utf-8
    Date: Fri, 24 Feb 2017 05:50:46 GMT
    Expires: Sun, 19 Nov 1978 05:00:00 GMT
    Server: Apache/2.4.25 (Amazon) OpenSSL/1.0.1k-fips mod_fcgid/2.3.9
    X-Content-Type-Options: nosniff
    X-Frame-Options: SAMEORIGIN
    X-Generator: Drupal 7 (http://drupal.org)
    X-UA-Compatible: IE=edge,chrome=1
    Connection: keep-alive
    
    [root@ip-10-1-36-192 ec2用户]https://xxxx.cloudfront.net
    错误:无法满足请求
    错误
    这项要求未能得到满足。
    
    CloudFront无法连接到源站。

    由cloudfront生成(cloudfront) 请求ID:Fvf4qfAwuzBRS4J_SA6p1I-UYnvqSuZxdvXV1E6HuGEMGOxWPeORsQ==

    若我禁用CDN模块,从网站的外观来看一切都很好

    是否可以同时提供静态和动态内容 云锋

    是的,CloudFront还提供动态内容。这可以是PHP内容等。 您的来源可以是S3或web服务器(aws实例)等。请阅读CloudFront文档以了解其工作原理的详细信息


    是的,CloudFront支持自签名证书。您可以详细说明设置它所采取的步骤。或者,请检查此处的文档:

    问题在于自签名证书。我已经从Comodo提供了一个免费的SSL,并且能够对其进行配置。瞧!CloudFront能够识别它,我的内容也可以从中获取。 谷歌网页速度指数也从74跳到了85

    感谢@Michael-sqlbot为我澄清了这一点


    你这里至少有两个问题。第一个问题的答案——如文中所述——应该从谷歌搜索或堆栈溢出中显而易见,因此我想知道你是否真的有一个问题,你没有提到静态+动态,而是问它是否“可能”。关于证书的第二个问题需要详细说明。CloudFront在源站上不支持此功能,仅在发行版上支持此功能。@Michael sqlbot签出我更新的帖子不要将
    -k
    与curl一起使用。这是
    --不安全的
    的别名,它忽略无效或不受信任的SSL配置。显然,如果您必须使用该选项,这意味着您的SSL配置无效,而502错误正是CloudFront在这种情况下应该执行的操作。CloudFront不允许到源站的不安全连接。我在中解决了一个可能类似的错误配置。哦。。。“将自签名证书添加到chrome和我的系统”您不能在源站上使用自签名证书。CloudFront必须能够验证源代码的身份,而这在自签名证书中是不可能的。谢谢@Michael sqlbot。我从Comodo提供了一个免费的SSL证书,现在我可以看到我的图片,js和css来自CloudFront。但有一个问题是,对我来说,使用CDN的整个想法是为了提高我网站的加载速度。当我在Google PageSpeed Insight中看到它时,它并没有太大变化。你能猜出原因是什么吗?
    
    Origin Domain Name
    xxxxelb-1927396229.eu-west-1.elb.amazonaws.com
    
    Origin ID
    PPRD-kirana11elb    
    
    Origin SSL Protocols
    TLSv1.2
    TLSv1.1
    TLSv1
    SSLv3
    
    Origin Protocol Policy
    HTTP Only
    HTTPS Only
    Match Viewer
    
    HTTP Port
    80
    
    HTTPS Port
    443
    
    Path Pattern
    Default (*)     
    
    Origin
    PPRD-kirana11elb
    
    Viewer Protocol Policy
    HTTP and HTTPS
    
    Allowed HTTP Methods
    GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
    
    Cached HTTP Methods
    GET, HEAD +OPTIONS 
    
    Forward Headers
    Whitelist
    
    Whitelist Headers
    CloudFront-Forwarded-Proto
    Host
    
    Object Caching
    Use Origin Cache Headers
    Minimum TTL
    0
    Maximum TTL
    31536000
    Default TTL
    86400
    
    Forward Cookies
    All
    
    Query String Forwarding and Caching
    Forward all, cache based on all
    
    Smooth Streaming
    No
    
    Restrict Viewer Access
    No
    
    Compress Objects Automatically
    No
    
    [root@ip-10-1-36-192 ec2-user]# curl https://xxxx.cloudfront.net
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <TITLE>ERROR: The request could not be satisfied</TITLE>
    </HEAD><BODY>
    <H1>ERROR</H1>
    <H2>The request could not be satisfied.</H2>
    <HR noshade size="1px">
    CloudFront wasn't able to connect to the origin.
    <BR clear="all">
    <HR noshade size="1px">
    <PRE>
    Generated by cloudfront (CloudFront)
    Request ID: Fvf4qfAwuzBRS4J_SA6p1I-UYnvqSuZxdvXV1E6HuGEMGOxWPeORsQ==
    </PRE>
    <ADDRESS>
    </ADDRESS>
    </BODY></HTML>You have new mail in /var/spool/mail/ec2-user
    
    [root@ip-10-1-36-192 ec2-user]# curl -Ik https://website.com
    HTTP/1.1 200 OK
    Cache-Control: no-cache, must-revalidate
    Content-Language: en
    Content-Type: text/html; charset=utf-8
    Date: Fri, 24 Feb 2017 05:50:46 GMT
    Expires: Sun, 19 Nov 1978 05:00:00 GMT
    Server: Apache/2.4.25 (Amazon) OpenSSL/1.0.1k-fips mod_fcgid/2.3.9
    X-Content-Type-Options: nosniff
    X-Frame-Options: SAMEORIGIN
    X-Generator: Drupal 7 (http://drupal.org)
    X-UA-Compatible: IE=edge,chrome=1
    Connection: keep-alive