从 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