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

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

【问题讨论】:

    标签: wordpress nginx amazon-elastic-beanstalk


    【解决方案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; }。见:stackoverflow.com/questions/23709841/…
    【解决方案2】:

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

    location /blog {
        proxy_pass http://my_blog_address/blog
    }
    

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

    【讨论】:

      猜你喜欢
      • 2021-08-18
      • 2020-09-28
      • 2015-05-27
      • 1970-01-01
      • 2021-03-26
      • 2017-02-05
      • 2012-09-10
      • 2021-06-08
      • 2019-07-30
      相关资源
      最近更新 更多