从 Elastic Beanstalk 到 wordpress 的代理

Posted

技术标签:

【中文标题】从 Elastic Beanstalk 到 wordpress 的代理【英文标题】:proxy to wordpress from Elastic Beanstalk 【发布时间】:2016-08-14 01:53:48 【问题描述】:

我目前在 Elastic Beanstalk 上托管一个节点应用程序。另外,我有一个 wordpress.com 博客。出于 SEO 的原因,我想为 mysite.com/blog 的博客提供服务。我可以通过将所有内容托管在一台带有适当重写规则的 nginx 前面的服务器上来实现这一点。有没有办法可以将/blog 流量代理到 wordpress 站点和/或自托管 wordpress 实例,从而保持我的 EB 设置?还有其他优雅的解决方案吗?

【问题讨论】:

【参考方案1】:

首先:我怀疑您是否能够在 WordPress.com 上托管时将流量代理回您的 WordPress 网站,因此您可能必须设置自己的自托管 WordPress 安装或使用托管的 WordPress 托管公司。

第二:你完全可以设置一个服务器,安装 NGINX 和 WordPress。 NGINX 会将/blog 位置的任何请求发送到 php-fpm 或您使用的任何 php 处理器。其他一切都可以代理到 EB。

您的配置可能如下所示:

server 
        listen 443 default;
        listen [::]:443;

        server_name foo;
        root /path/to/www/;
        index index.php ...;

        ... ssl and other stuff ...

        proxy_pass ... to EB by default ...

        location /blog 
            ... use php ...
        

【讨论】:

这让我走上了正轨,但我不希望所有流量都像你建议的那样通过博客机器。可以在 Elastic Beanstalk 上配置 nginx 以代理到自托管的 wordpress 博客。 我确信有一种方法可以向 EB 上的 nginx 添加配置...类似于location /blog proxy_pass https://myblogserver; 。见:***.com/questions/23709841/…【参考方案2】:

我通过设置一个自托管的 wordpress 实例然后更新我的 Elastic Beanstalk nginx 配置以反向代理它解决了这个问题。我必须将此行添加到配置中,在 server 部分中

location /blog 
    proxy_pass http://my_blog_address/blog

要以可重复的方式将其放入配置文件,需要一些黑客攻击。我找到的最简单的方法是基于this SO question。基本上,您可以在 EB 初始化期间添加一个挂钩来更改配置文件。

【讨论】:

以上是关于从 Elastic Beanstalk 到 wordpress 的代理的主要内容,如果未能解决你的问题,请参考以下文章

将文件从 Elastic beanstalk 复制到本地机器

从 Elastic Beanstalk 到 wordpress 的代理

将映像从 aws ecr 部署到 aws elastic beanstalk

将流量从 Ionos 域转发到 AWS Elastic Beanstalk

AWS Elastic Beanstalk VPC - 从 ELB 到实例的 HTTPS

使用 Elastic Beanstalk 时将文件从 S3 复制到我的代码库中