AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 729697
Accepted
Sam McAfee
Sam McAfee
Asked: 2015-10-18 11:19:23 +0800 CST2015-10-18 11:19:23 +0800 CST 2015-10-18 11:19:23 +0800 CST

我可以使用 CloudFront 为来自同一域但不同服务器的 WordPress 博客提供服务吗?

  • 772

我们有一个由 Elastic Beanstalk (AWS) 提供服务的网站,一切运行良好。我们使用内置负载均衡器通过 HTTPS 等方式为我们的网站提供服务。我们的数据库通过 RDS 服务分离,而不是在与我们的 Web 服务器相同的 EC2 实例上。到目前为止,我们对设置感到满意。

现在,我们想在我们网站的域(不是单独的或子域,出于 SEO 原因)的“/blog”下建立一个 WordPress 博客。我们的网站是一个定制的 PHP 应用程序(使用 Laravel 框架),我不希望在同一个地方同时托管 WP 应用程序和我们的网站。

我相信我们可以使用 CloudFront(亚马逊的 CDN)来服务于我们网站的 /blog 部分,并将这些请求路由到不同 EC2 实例上的单独 WP 安装。我已经使用 CloudFront 来做常规的 CDN 类型的东西(静态资产),但我对如何设置这种特定类型的配置有点迷茫。

首先,这是一个疯狂的想法,还是听起来不错?其次,如果它是合理的,我需要知道什么来设置它?

wordpress
  • 1 1 个回答
  • 3586 Views

1 个回答

  • Voted
  1. Best Answer
    Michael - sqlbot
    2015-10-18T13:27:03+08:002015-10-18T13:27:03+08:00

    是的,如果您将整个站点设置为在 CloudFront 后面运行,则可以。然后,您可以为站点配置默认的后端源服务,并为 /blog 开辟一个例外以采用不同的路径。

    配置新的 CloudFront 分配。使用主站点的 ELB 或 EB 主机名作为源。将站点的域名配置为 CloudFront 中的备用域名。

    接下来,添加第二个来源,目的地是可以访问 WP 部署的主机名。创建具有匹配并使用第二个原点的路径模式的行为。/blog*

    (如果 /blog* 匹配站点根目录中的任何其他内容......不太可能,但假设您在根目录中有另一个名为 /blogosphere 的页面,这将被错误匹配,因此您实际上需要创建两个模式,/博客和 /blog/*)。

    Gotcha:请注意,在创建原点时,有一个用于origin path的框。 这可能不会达到您的预期。如果不确定,请将其留空。

    源路径是您希望 Cloudfront 将其添加到它发送到源的请求的前缀,即使它在 URL 中不可见。因此,如果您将其设置为 /test 并且来自浏览器的请求是针对 /blog 的,那么后端服务器会看到针对 /test/blog 的请求到达。

    源路径允许您预先添加将被请求的路径,否则传入路径将按照从浏览器接收到的方式发送。/blog这意味着在您的 WP 安装中,当您直接连接到 WP 服务器时,内容的根目录需要位于,而不是位于/. CloudFront 目前不提供从路径中删除组件的任何机制。

    还要记住启用查询字符串和 cookie 转发到 WordPress 后端,以使 WordPress 按需要工作。当然,您的主站点也是如此。

    如果您的服务器需要,您可能需要将标头列入白名单。Host:可能还有其他人,具体取决于服务器需要查看的标头,但通常,您转发的标头越多,CloudFront 可以做的缓存越少,因为如果它将标头转发到源,它必须假定任何后续请求在标头变化可能会收到来自服务器的不同响应,因此除非所有转发的标头都匹配,否则无法从缓存中提供请求。

    最终,在配置和测试之后,您将主机名指向 CloudFront 端点,您就可以上线了。

    • 7

相关问题

  • 在 Ubuntu 上安装 Wordpress 插件/Pear 问题

  • 帮助!Wordpress 帖子返回 404(Debian + Apache)[关闭]

  • 在您的网站上实施 Facebook Connect 的安全隐患 [关闭]

  • 向 URL 添加 GET 参数会导致 404 错误

  • Windows 2003 服务器和 Wordpress

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve